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


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



Листинг 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{}









Начало  Назад  Вперед


Книжный магазин