在经典的消费者\生产者线程场景中,我必须为队列使用向量。由于我需要一个线程等待另一个线程,直到向量中有一个元素,我尝试了以下方法:
public synchronized QueueLine getCustomer(int index)
{
while (Customers.isEmpty())
{
try
{
wait();
}
catch (InterruptedException e) {}
}
return Customers.elementAt(index);
}
而另一个线程添加到“客户”向量而不是使用通知。我知道我正在做一些事情,因为一旦 notify() 不会影响另一个线程。