Сокеты позволяют установить время ожидания с помощью метода setSoTimeout()
. Это предпочтительный способ остановить их блокировку.
В противном случае вы можете взглянуть на пакет nio
, который позволяет неблокировать ввод-вывод за счет дополнительной ручной работы для управления входящими и исходящими данными.