2015-02-04 43 views

回答

1

升壓thread_group是一組線程。

所有線程,顧名思義,鮮明而獨特。所以,如果你的互斥鎖失敗......「mut-ex」(相互排斥),這表示其他地方的程序員錯誤。

一時興起,我建議您也許對互斥量的期望(遞歸與否)不準確(與線程組的期望類似)?

您可能錯過的是全部訪問共享對象/必須/在這些訪問的所有時間獲取互斥鎖。這是不夠有一個線程「保護」共享對象,以神奇的方式保持其他線程。

互斥體是一個共同的命題。在這方面,術語「關鍵部分」實際上更好一些:用代碼「標記」關鍵部分,而不是「標記」關鍵數據(不管那將是什麼)。

+0

究竟:互斥不保護任何變量或值或存儲空間。互斥鎖是一組帶有一個鍵的門。您可以在您想要保護的區域四周放置門,並保證只有一根線可隨時打開任何門。 –

+0

我認爲我對互斥體的理解是足夠準確的。 –

+0

@JasonHarrison好的!當然,根據你提到的幾件事情(這是模棱兩可的,所以我相信你,如果你說你這樣做)。隨意忽略這一部分。 – sehe