pthread_join(线程等待)
1、头文件:#include<pthread.h>
2、函数原型:int pthread_join(pthread_t thread, void **retval);
3、函数形参: thread:指定要回收的次线程的TID;
retval:次线程函数返回的返回值。
4、函数返回值:成功返回0,失败返回错误号。
5、功能:阻塞等待TID为thread的次线程结束,结束时该函数回收次线程所占用资源。
注:该函数只对次线程有意义,对主线程没有意义,因为主线程结束时整个进程就结束了,而整个进程资源会由父进程回收。
6、等待线程的目的:
(1)保证线程的退出顺序:保证一个线程退出并且回收资源后允许下一个进程退出。
(2)回收线程退出时的资源情况:保证当前线程退出后,创建的新线程不会复用刚才退出线程的地址空间。
(3)获得新线程退出时的结果是否正确的退出返回值,这个有点类似回收僵尸进程的wait,保证不会发生内存泄露等问题。
7、使用示例:result接TID为id、id2的线程退出时的返回值。
注:result在该函数中形参使用需为void *型,而在printf时需要强转为字符串类型。
pthread_join(线程等待)
最新推荐文章于 2024-01-07 10:16:48 发布