pthread_join 两次同一个线程
来源:互联网 发布:淘宝首图背景素材 编辑:程序博客网 时间:2024/04/28 04:30
现象:我先创建两个线程 A和B,将其线程ID保存下来。 然后依次pthread_join 这两个线程。然后创建一个新的线程C。
然后我再次pthread_join 线程A和B。 结果发现他们两个之中一个会返回成功。
原因:
因为线程C的线程ID和线程A和B之中的一个相同。导致我对同一个线程pthread_join 两次,分别pthread_join 了不同的线程。
措施:
在调用pthread_join 的时候进行判断是否已经pthread_join 了,如果已经joni了,就不再join。如果这样做则需要考虑多线程同时访问。
man pthread_join :有如下提示
After a successful call to pthread_join(), the caller is guaranteed that the target thread has terminated.
Joining with a thread that has previously been joined results in undefined behavior.
All of the threads in a process are peers: any thread can join with any other thread in the process.
0 0
- pthread_join 两次同一个线程
- 等待线程退出pthread_join
- Linux线程-pthread_join
- 线程函数pthread_join
- 线程pthread_create,pthread_join
- Linux线程之pthread_join
- pthread_join函数及linux线程
- pthread_join函数及linux线程
- pthread_join函数及linux线程
- pthread_join函数及linux线程
- pthread_join函数及linux线程
- pthread_join函数及linux线程
- Linux线程pthread_exit 和 pthread_join
- pthread_join函数及linux线程
- pthread_join函数及linux线程
- pthread_join(等待另一个线程结束)
- pthread_join函数及linux线程
- pthread_join函数及linux线程
- mesos中{}的巧妙使用
- caffe练习实例(1)——训练mnist数据集
- 脚本编译和运行Java程序探索结果
- 字符串指针与字符数组的区别
- docker上传镜像到docker hub
- pthread_join 两次同一个线程
- 小米3root之后仍无法在命令窗口查看数据库信息_解决办法之一
- 设计模式之单例模式
- 结构和联合
- JSP
- dns协议的一些整理----简单的名词解释
- java基础之泛型
- 程序员养生之道
- 第92课,Hive中的Array,Map,Struct及自定义数据类型案例实战。