спать или ждать () - PullRequest
1 голос
/ 18 мая 2011

Предположим, что у вас есть два потока, использующие синхронизированные методы для совместного использования буфера, один метод для записи в буфер и один для чтения из него. Если поток считывателя обнаружит, что буфер пуст, объясните, что было бы более целесообразно использовать читателю: сон или ожидание.

Ответы [ 2 ]

0 голосов
/ 18 мая 2011

Очевидно, домашнее задание, так что намек:

Спросите себя, если бы вы решили спать, как долго вы должны спать? Что произойдет, если вы выберете слишком малое время ожидания, а что если оно будет слишком большим?

И наоборот, сколько времени занимает заполнение буфера? Это нормально для приложения, чтобы буферизовать данные в течение короткого времени, или это нужно эти данные как можно скорее?

0 голосов
/ 18 мая 2011

Звучит очень похоже на домашнюю работу, поэтому я лишь дам подсказку.

Посмотрите, как работают блокировки во время ожидания и сна.Javadoc для них обоих объяснит разницу.

wait sleep

...