Linux:是否从一个线程调用wait()会导致所有其他线程也进入休眠状态?

时间:2011-09-21 13:41:09

标签: c linux

“wait()系统调用暂停执行当前进程,直到其子进程终止”。 Waitpid也很相似。

我的问题是,从一个线程调用wait()是否会导致所有其他线程(在同一个进程中)也进入休眠状态?分离线程的行为是否也相同?

3 个答案:

答案 0 :(得分:3)

这只是手册中的一个错误。 wait暂停调用线程,而不是进程。绝对没有办法暂停整个过程而不是发送它SIGSTOP或手动暂停每个线程一次。

答案 1 :(得分:0)

据我所知,从任何线程调用wait将导致与该进程关联的所有线程停止。

但是不要抱我这么做。最好的办法就是测试它。

答案 2 :(得分:0)

应该只停止当前线程。如果你想让人们在看你的代码时生病并给你自己造成很多问题,你可以将它用于陪审团操纵线程同步。我不会推荐它。