关于线程间共享变量的注意点Linux认证考试

文章作者 100test 发表时间 2010:01:24 16:15:18
来源 100Test.Com百考试题网


  两个线程共享同一个变量是否需要加锁,

  根据需要来定。

  但是如果两个线程有可能同时修改这个变量的话,

  那么一定是需要加锁的。

  代码中如果没有pthread_join主线程会很快结束从而使整个进程结束,从而使创建的线程没有机会开始执行就结束了。加入pthread_join后,主线程会一直等待直到等待的线程结束自己才结束,使创建的线程有机会执行。

  pthread_join函数及linux线程

  pthread_join使一个线程等待另一个线程结束。

  代码中如果没有pthread_join主线程会很快结束从而使整个进程结束,从而使创建的线程没有机会开始执行就结束了。加入pthread_join后,主线程会一直等待直到等待的线程结束自己才结束,使创建的线程有机会执行。

  所有线程都有一个线程号,也就是Thread ID。其类型为pthread_t。通过调用pthread_self()函数可以获得自身的线程号。

  下面说一下如何创建一个线程。

  通过创建线程,线程将会执行一个线程函数,该线程格式必须按照下面来声明:

  void * Thread_Function(void *)

  创建线程的函数如下:

  int pthread_create(pthread_t *restrict thread,

  const pthread_attr_t *restrict attr,

  void *(*start_routine)(void*), void *restrict arg).

  下面说明一下各个参数的含义:

  thread:所创建的线程号。

  attr:所创建的线程属性,这个将在后面详细说明。

  start_routine:即将运行的线程函数。

  art:传递给线程函数的参数。

  下面是一个简单的创建线程例子:

  #include


相关文章


学习Linux系统的九条忠告Linux认证考试
既节省空间又提高效率的好方法Linux认证考试
让程序在前台后台之间切换Linux认证考试
linux指针函数追踪方法Linux认证考试
关于线程间共享变量的注意点Linux认证考试
Linux音频编程指南Linux认证考试
Linux多线程同步之命名管道Linux认证考试
linux多线程之线程资源的释放Linux认证考试
Linux多线程同步之消息队列Linux认证考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛