2 qq 24222753 qq_24222753 于 2016.05.07 14:17 提问

问一个关于多线程的问题 求解答!! 3C

C/C++中,假如主线程中创建了一个新线程thread1,thread1中又创建了一个新线程thread2
现在pthread_join(thread1,0)
_此时阻塞其他线程,等待thread1终止,我想问的是,thread2和thread1是否两个独立的线程?等待thread1线程终止的时候thread2也是阻塞状态?然后等thread1运行完毕后再接着运行thread2?
我有点晕了

1个回答

bealing
bealing   Rxr 2016.05.07 16:27

thread2和thread1是否是两个独立的线程,是不是在说线程的分离状态?如果是,那要看你创建线程的时候线程属性中的分离状态,
看你设置的是分离状态还是非分离状态,如果是分离状态,可以理解为两个线程是独立的,如果是joinable状态,原有的线程等待创建的线程结束。只有当pthread_join()函数返回时,创建的线程才算终止,才能释放自己占用的系统资源。而分离线程不是这样子的,自己运行结束了,线程也就终止了,马上释放系统资源。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!