Главная /
Параллельные и распределенные вычисления /
Приведена реализация очереди (язык Java). Методы doPut и doTake реализованы в классе BaseBoundedBuffer. public class WaitNotifyQueue <T> extends BaseBoundedBuffer <T> { public WaitNotifyQueue(int size) { super(size); } public synchronized void
Приведена реализация очереди (язык 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
Сложность вопроса
86
Сложность курса: Параллельные и распределенные вычисления
54
Оценить вопрос
Комментарии:
Аноним
Я завалил сессию, какого чёрта я не увидел этот великолепный сайт с решениями по тестам интуит до зачёта
28 мар 2017
Аноним
просто спасибо
10 фев 2017
Другие ответы на вопросы из темы программирование интуит.
- # Что такое сокет в распределенной системе?
- # Какое требование возникает при проектировании отказоустойчивых распределенных систем?
- # В чем состоит распределение данных между серверами HBase-кластера?
- # Чем характеризуется случайное пробуждение (spurious wakeup) потока в Java?
- # Взаимодействуют ли процессы в MPI? Если взаимодействуют, то каким образом?