C/C++中,假如主线程中创建了一个新线程thread1,thread1中又创建了一个新线程thread2
现在pthread_join(thread1,0)
_此时阻塞其他线程,等待thread1终止,我想问的是,thread2和thread1是否两个独立的线程?等待thread1线程终止的时候thread2也是阻塞状态?然后等thread1运行完毕后再接着运行thread2?
我有点晕了
问一个关于多线程的问题 求解答!!
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- xSeeker~ 2016-05-07 08:27关注
thread2和thread1是否是两个独立的线程,是不是在说线程的分离状态?如果是,那要看你创建线程的时候线程属性中的分离状态,
看你设置的是分离状态还是非分离状态,如果是分离状态,可以理解为两个线程是独立的,如果是joinable状态,原有的线程等待创建的线程结束。只有当pthread_join()函数返回时,创建的线程才算终止,才能释放自己占用的系统资源。而分离线程不是这样子的,自己运行结束了,线程也就终止了,马上释放系统资源。解决 无用评论 打赏 举报