2010-08-15 56 views
3

當我們在主分離線程。 和supose主要退出...分離的線程繼續進行還是他們也退出就像我們的普通可連接線程?分離線程

回答

1

如果這將是另一個線程然後主,其他線程將繼續。但C99標準說

如果主 函數的返回類型與 INT,從最初的呼叫 到 回報的主要功能是相當於調用exit函數兼容的類型?

(所有常見平臺今天將返回從mainint,特別是這是由POSIX要求)。

併爲的POSIX頁個狀態

這些功能應當終止 調用進程......

因此,在總結從main返回終止整個程序包括的所有主題。

+0

你應該引用哪個標準。你所引用的文本看起來有點奇怪,因爲當前版本的POSIX與C99一致,**要求**'main'具有返回類型'int'。 – 2010-08-16 05:03:56

+0

@R .:不,你錯了,C99不需要返回'int'。在'main'的段落末尾有一些奇怪的措辭,它允許其他簽名。並且,我在引用它的這一段時清楚地表明,非'返回'是一種可能性。 – 2010-08-16 06:21:08

4

這完全取決於主線程如何退出。如果它退出使用exit()或從main()返回,則整個過程退出,並且每個線程都被終止。

但是,如果它使用pthread_exit()終止,則該過程繼續運行。