2011-09-21 94 views

回答

3

這只是手冊中的一個錯誤。 wait暫停調用線程,而不是進程。絕對沒有辦法暫停整個過程,不要發送SIGSTOP或每次手動掛起一個線程。

+0

這是特定於Linux的嗎?由於Linux對每個線程都有單獨的內核進程。 – Jacob

+0

某些上下文:Linux 2.4沒有真正的POSIX線程。每個線程都被視爲一個不同的進程。對於具有完整POSIX線程的Linux 2.6而言,這已經發生了變化。我想有些手冊頁沒有更新。 – user9876

+2

但即使在2.4中也是錯的;因爲線程表現得像進程,當然只有一個線程會被掛起。 –

0

據我所知,從任何線程調用wait會導致所有與該進程關聯的線程停止。

但不要抱着我。最好的做法是測試它。

+1

絕對不是。 –

0

應該只停止當前線程。如果你想在看代碼的時候讓人生病,並且導致你自己遇到很多問題,那麼你可以使用它來進行陪審團綁定的線程同步。但我不會推薦它。