2013-10-10 34 views
0

我有1个关键部分(A部分)和另外两个部分(B和C)。 我试图实现这两个目标:关键部分 - 控制访问

  1. 如果一个线程遇到一节,我要确保B和C部分不能被其他线程(对于A部分的持续时间)执行。

  2. 但是,如果部分A是而不是正在运行,则部分B和C可以由任意数量的线程执行。

显然,使用上的所有三个部分一lock没有帮助:能够满足第一个要求,但不是第二。 B和C在正常情况下不能同时运行。

我该如何做到这一点?

(道歉模糊标题)

回答