Здравствуйте пишу однопоточную программу на java работающую с помощью nio.
Мне нужно создавать сокет по домену и я использую InetAddress.getByName
, но он блокирующий и при первом вызове с данным аргументом может выполнятся чуть ли не секунды, как получить InetAddress
не блокируя поток и желательно без дополнительных потоков или с константным их количеством?
Сделать асинхронный dns-запрос не выйдет. По крайней мере без сторонних библиотек. Придётся использовать thread pool и future:
ExecutorService executor = Executors.newFixedThreadPool(POOL_SIZE);
Future<InetAddress> future = executor.submit(() -> InetAddress.getByName(dnsName));
while (true) { // Цикл событий
if (!future.isDone())
continue;
InetAddress addr = future.get();
...
}
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Хочу сделать в JavaFX приложении динамический индикатор клавиатурыПодскажите что не так в моем коде
Как сделать так, чтобы было одновременно, и ограничение ввода символов (ничего кроме цифр), и их количество не более 4По отдельности они работают,...
Я знаю как с битами работать, типа сдвиги, операторы |, &, ^В просторах интернета пишут, что они используются для низкоуровневых задач, в технике...