2013-10-10 49 views
0

我有1個關鍵部分(A部分)和另外兩個部分(B和C)。 我試圖實現這兩個目標:關鍵部分 - 控制訪問

  1. 如果一個線程遇到一節,我要確保B和C部分不能被其他線程(對於A部分的持續時間)執行。

  2. 但是,如果部分A是而不是正在運行,則部分B和C可以由任意數量的線程執行。

顯然,使用上的所有三個部分一lock沒有幫助:能夠滿足第一個要求,但不是第二。 B和C在正常情況下不能同時運行。

我該如何做到這一點?

(道歉模糊標題)

回答