2012-04-18 122 views

回答

4

根據ISO C,newThread變量是一個「不確定值的對象」,其使用會觸發未定義的行爲。它可能具有觸發CPU異常的「陷阱表示」。

或者它可能只是被解釋爲該類型的隨機值,API可以通過以下兩種方式之一處理:或者沒有這樣的線程,並且返回ESRCH,或者通過僥倖存在這樣的線程。然後出現各種情況:是否可連接等。

+0

好的。我沒有考慮到最初的不確定值可能發生在一個有效的線程上。 – holtavolt 2012-04-18 01:50:57

+1

*程序員不能通過他們的聰明才智和他們的邏輯來衡量,而應該通過他們案例分析的完整性來衡量。* Alan J. Perlis,Epigram#32。 – Kaz 2012-04-18 02:03:04

2

如果您將pthread_join稱爲未初始化的pthread_t,則行爲未定義。

+0

正確:http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_join.html – kay 2012-04-18 02:02:30

相關問題