고전적인 소비자 \ 생산자 스레드 senario에서 i는 대기열에 벡터를 사용해야합니다. 다른 스레드가 "고객"벡터 및 통지 사용보다 추가하면서자바 스레드에서 벡터를 올바르게 동기화
public synchronized QueueLine getCustomer(int index)
{
while (Customers.isEmpty())
{
try
{
wait();
}
catch (InterruptedException e) {}
}
return Customers.elementAt(index);
}
: 나는 벡터의 요소가 될 때까지 다른 기다려야 하나 개의 스레드를 필요로하기 때문에 , 나는 다음과 같은 방법을 시도했다. 일단 notify()가 다른 스레드에 영향을 미치지 않기 때문에 나는 뭔가 worng을하고 있음을 알고 있습니다.
"효과가 없습니까?" getCustomer()에 대한 호출이 반환되지 않는다는 것을 의미합니까? 코드를 더욱 완벽한 테스트 시나리오로 확장 할 수 있습니까? – Dan