问个关于notify、notifyAll、wait的简单例子
public synchronized String GetMsg(int Length)
{
LengthNeeded = Length;
notifyAll();////////////////
if (LengthNeeded > Content.length())
{
available = false;
while (available == false)
{
try
{
wait();/////////////
} catch (InterruptedException e) { }
}
}
...
notifyAll();////////////////
return Msg;
}
public synchronized void PutChar(int c)
{
Character d = new Character((char) c);
Content = Content.concat(d.toString());
if (LengthNeeded < Content.length())
{
available = true;
}
notifyAll();/////////////
}
上面两个成员函数里的wait和nofityAll不是针对线程的吧?是不是针对GetMsg和PutChar方法的?
(wait、notify、notifyAll除了针对线程是不是还有这种针对synchronized函数的用法?)这里
就两个函数,为何不用notify而用notifyAll?