Приведена реализация очереди (язык Java). Методы doPut и doTake реализованы в классе BaseBoundedBuffer. public class WaitNotifyQueue <T> extends BaseBoundedBuffer <T> { public WaitNotifyQueue(int size) { super(size); } public synchronized void put(T v) throws InterruptedException { while (isFull()) { wait (); } doPut(v); notifyAll (); } public synchronized T take() throws InterruptedException { while (isEmpty()) { wait(); } T v = doTake (); notifyAll (); return v; }}
Какие функции несет на себе метод wait в данной программе?
(Ответ считается верным, если отмечены все правильные варианты ответов.)
Варианты ответа
освобождение соответствующей критической секции для возможности выполнения другого синхронизированного метода класса WaitNotifyQueue (Верный ответ)
завершение работы потока исполнения для данного экземпляра класса WaitNotifyQueue
приостановка работы потока потока исполнения (Верный ответ)
ожидание наступления соответствующего события для возобновления работы потока исполнения (Верный ответ)