Java -практика использования
66ac8edd

Согласование получения и выдачи информации



Листинг 17.7. Согласование получения и выдачи информации

class Store{

private int inform = -1;

private boolean ready;



synchronized public int getlnform(){ 

try{

if (! ready) wait();
 

ready = false; 

return inform;

}catch(InterruptedException ie){ 

}finally!

notify();
 

}

return -1; 

}

synchronized public void setlnform(int n)( 

if (ready) 

try{

wait ();

}catch(InterruptedException ie){} 

inform = n; 

ready = true; 

notify();
 

}

Поскольку уведомление поставщика в методе getinformo должно происходить уже после отправки информации оператором return inform, оно включено В блок finally{}



Содержание раздела