Встречается на собеседованиях • сегодня

Что позволяет совершить неблокирующие чтение

Неблокирующее чтение позволяет выполнять операции ввода-вывода без остановки основного потока. В Java это реализуется через NIO (New I/O) с использованием `Selector`, `Channel` и `Buffer`. Пример с `SocketChannel` и `Selector`: ```java Selector selector = Selector.open(); SocketChannel channel = SocketChannel.open(); channel.configureBlocking(false); channel.connect(new InetSocketAddress("example.com", 80)); channel.register(selector, SelectionKey.OP_READ); while (true) { selector.select(); // Блокирует, пока не будет готово чтение Set keys = selector.selectedKeys(); for (SelectionKey key : keys) { if (key.isReadable()) { ByteBuffer buffer = ByteBuffer.allocate(1024); ((SocketChannel) key.channel()).read(buffer); // Неблокирующее чтение buffer.flip(); System.out.println(new String(buffer.array())); } } keys.clear(); } ``` Здесь `configureBlocking(false)` переводит канал в неблокирующий режим, а `Selector` уведомляет о готовности данных.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы