Если я вызову read () для DataInputStream, будет ли он занимать циклы ЦП в ожидании данных или он выдаст текущий поток и проснется от прерывания, сигнализирующего о получении данных?
Моя мотивация состоит в том, чтобы определить, должен ли считыватель потоков находиться в собственном потоке. Блокирующее чтение, которое занимает процессорное время, не будет идеальным, так как это приведет к зависанию основного потока.
Смежный вопрос: Когда метод описывается как блокировка, подразумевается ли это, что поток выдает во время ожидания? Или нет контракта / гарантии? Мне кажется, метод, который постоянно проверяет / опрашивает данные, все еще блокирует.