线程的连接pthread_join()函数(线程二)
2017-05-02 01:48
225 查看
1.pthread_join()函数
函数原型
![](https://img-blog.csdn.net/20170502014801250)
函数功能:等待指定的一个线程结束(该线程必须是joinable的)类似于进程中的wait()
函数成功返回 0,失败返回错误号。
2.参数说明:
第一个参数:指定一个pthread_t类型的需要等待结束的线程。
第二个参数:void** retval 用来存放线程的退出码(exit code)
3.例子
![](https://img-blog.csdn.net/20170502014802045)
![](https://img-blog.csdn.net/20170502014803031)
![](https://img-blog.csdn.net/20170502014803499)
运行结果:
打印retval时候要用强制类型转换(int*)retval
![](https://img-blog.csdn.net/20170502014804125)
4. pthread_detach()函数
![](https://img-blog.csdn.net/20170502014804655)
函数功能:分离一个线程。。。当你创建一个线程默认的状态是joinable, 如果一个线程结束运行但没有被join,则它的状态类似于进程中的Zombie Process,即还有一部分资源没有被回收(退出状态码),所以创建线程者应该pthread_join来等待线程运行结束,并可得到线程的退出代码,回收其资源(类似于wait,waitpid),而是用pthrea_detach()会使线程处于detach状态,该函数可以detach自己也可以detach
别人。
函数原型
函数功能:等待指定的一个线程结束(该线程必须是joinable的)类似于进程中的wait()
函数成功返回 0,失败返回错误号。
2.参数说明:
第一个参数:指定一个pthread_t类型的需要等待结束的线程。
第二个参数:void** retval 用来存放线程的退出码(exit code)
3.例子
运行结果:
打印retval时候要用强制类型转换(int*)retval
4. pthread_detach()函数
函数功能:分离一个线程。。。当你创建一个线程默认的状态是joinable, 如果一个线程结束运行但没有被join,则它的状态类似于进程中的Zombie Process,即还有一部分资源没有被回收(退出状态码),所以创建线程者应该pthread_join来等待线程运行结束,并可得到线程的退出代码,回收其资源(类似于wait,waitpid),而是用pthrea_detach()会使线程处于detach状态,该函数可以detach自己也可以detach
别人。
相关文章推荐
- pthread_join函数及linux线程转
- 线程函数pthread_join
- 网络编程(35)—— 利用pthread_join函数等待线程结束并获取线程函数返回值
- pthread_join函数及linux线程
- pthread_join函数及linux线程
- pthread_join函数及linux线程
- pthread_join函数及linux线程
- c线程中sleep()和pthread_join()函数之我见
- pthread_join函数及linux线程
- pthread_join函数及linux线程
- linux 线程等待与退出 pthread_join pthread_exit 函数
- c线程中sleep()和pthread_join()函数之我见
- pthread_join函数及其它线程终止函数
- pthread_join函数及linux线程
- pthread_join函数及linux线程
- Linux--多线程之线程连接pthread_join
- pthread_join函数及linux线程
- pthread_join函数及linux线程
- pthread_join函数及linux线程
- pthread_join函数及linux线程