#wait #thread-sleep
#подождите #поток-спящий режим
Вопрос:
Предположим, что у вас есть два потока, использующие синхронизированные методы для совместного использования буфера, один метод для записи в буфер, а другой для чтения из него. Если поток чтения обнаружит, что буфер пуст, объясните, что было бы более уместно для чтения использовать: sleep или wait.
Комментарии:
1. Что отличает sleep () от wait()? Чего пытается достичь поток чтения? Учитывая эти факты, каков ваш ответ?
Ответ №1:
Звучит очень похоже на домашнее задание, поэтому я дам только подсказку.
Взгляните на то, как управляются блокировки во время ожидания и ожидания. Javadoc для них обоих объяснит разницу.
Комментарии:
1. Откуда вы знаете, что это связано с Java?
2. Я не знаю, я догадался, поскольку это наиболее распространенный язык для начинающих классов по программированию, и что текст довольно хорошо соответствует контексту / семантике Java. Может быть связано с другим языком программирования, но я все равно ставлю свои 5 центов на Java 🙂
Ответ №2:
Явно домашнее задание, так что подсказка:
Спросите себя, если бы вы решили спать, как долго вы должны были спать? Что произойдет, если вы выберете слишком малый тайм-аут, и что произойдет, если он будет слишком большим?
И наоборот, сколько времени требуется для заполнения буфера? Нормально ли для приложения буферизовать данные в течение короткого времени или ему нужны эти данные как можно скорее?