当前位置: 技术问答>linux和unix
Help.....
来源: 互联网 发布时间:2014-10-20
本文导语: 请问各位高手,pthread_join是如何工作的!|主要的线程处理函数之一,可以用man察看说明. 用man pthread_create应该可以看到pthread_create原型 int pthread_create (pthread_t *tid,const pthread attr_t *attr, void *(*start_routine)(void *), void *arg); int pt...
请问各位高手,pthread_join是如何工作的!
|
主要的线程处理函数之一,可以用man察看说明. 用man pthread_create应该可以看到pthread_create原型 int pthread_create (pthread_t *tid,const pthread attr_t *attr, void *(*start_routine)(void *), void *arg); int pthread_join (pthread_t thread , void **value_ptr); void pthread_exit (vodi *value_ptr); pthread_create:tid参数指向将创建的线程id。 线程的属性由attr所决定,一般用NULL来创建具有缺省属性的线程。 start_routine是线程开始时的执行函数,该函数具有一个参数arg 该函数的声明原型为void *start_route(void *arg) pthread_exit:将结束线程的执行。该函数有一个退出参数,和exit差不多。 不过这个参数必须为一个指针,因为当线程结束后,该退出状态将一直阻塞 直到其它线程的加入或该线程为进程的最后一个线程。所以不能作为正在退出 的线程的局部变量来分配。 pthread_join:与waitpid函数差不多,使调用线程的进程阻塞直到指定的线程结束。 与waitpid一样,该函数也用一个参数来接收线程的返回值。 下面用一个例子来说明: #include #include #include #include /* 线程开始时的处理函数 */ void *my_thread_deal(void *arg); int main() { int i; int j[10]={0,1,2,3,4,5,6,7,8,9}; pthread_t my_thread[10]; int *k; /* 创建十个线程 */ for(i=0;i
|
主要的线程处理函数之一,可以用man察看说明. 用man pthread_create应该可以看到pthread_create原型 int pthread_create (pthread_t *tid,const pthread attr_t *attr, void *(*start_routine)(void *), void *arg); int pthread_join (pthread_t thread , void **value_ptr); void pthread_exit (vodi *value_ptr); pthread_create:tid参数指向将创建的线程id。 线程的属性由attr所决定,一般用NULL来创建具有缺省属性的线程。 start_routine是线程开始时的执行函数,该函数具有一个参数arg 该函数的声明原型为void *start_route(void *arg) pthread_exit:将结束线程的执行。该函数有一个退出参数,和exit差不多。 不过这个参数必须为一个指针,因为当线程结束后,该退出状态将一直阻塞 直到其它线程的加入或该线程为进程的最后一个线程。所以不能作为正在退出 的线程的局部变量来分配。 pthread_join:与waitpid函数差不多,使调用线程的进程阻塞直到指定的线程结束。 与waitpid一样,该函数也用一个参数来接收线程的返回值。 下面用一个例子来说明: #include #include #include #include /* 线程开始时的处理函数 */ void *my_thread_deal(void *arg); int main() { int i; int j[10]={0,1,2,3,4,5,6,7,8,9}; pthread_t my_thread[10]; int *k; /* 创建十个线程 */ for(i=0;i
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。