我正試圖在Java中使用監視器概念實現信號量。即Java類實現弱計數信號量(使用方法初始化,信號和等待)使用監視器概念實現信號量
有人能告訴我,如果這個類是正確的(如果不是有什麼問題):
class MyMonitor
{
int counter = 0;
//init
public MyMonitor(int init)
{
counter = init;
}
//Signal
public synchronized void S()
{
counter++;
notify();
}
//Wait
public synchronized void W()
{
if(counter == 0)
{
try
{
wait();
}
catch(InterruptedException e) { }
}
counter--;
}
}
如果這是正確的,有人可以給我一個關於如何測試課程的想法。
其他r用「while」表示「真正的弱點」。 – zch 2012-03-07 21:48:45
@zch:好點。 – Tudor 2012-03-07 21:51:08