我编写了这个方法,其目的是通知线程正在离开
特定的代码块
线程代表正在离开桥梁的汽车,以便其他汽车可以穿过它。
给定数量的汽车(容量有限)可以进入这座桥,而且只有一种方式。
public void getout(int diection){
// release the lock
semaphore.release();
try{
lock.lock(); //access to shared data
if(direction == Car.NORTH)
nNordTraversing--; //decreasing traversing threads
else
nSudTraversing--;
bridgeCond.signal();
}finally{
lock.unlock();
}
}
我的问题是:我应该使用 lock.lock(); 或者这只是胡说八道?
提前致谢