Я новичок в Java NIO и немного его использовал. У меня есть общий запрос. Если вы разрабатываете приложение со сверхнизкой задержкой по сравнению с приложением с высокой пропускной способностью, какое из двух явно выигрывает от использования неблокирующего ввода-вывода?
Насколько я понимаю, неблокирующий ввод-вывод, безусловно, должен способствовать высокой пропускной способности, поскольку рабочие потоки не блокируются, следовательно, не ждут ответа и могут свободно запускать новые запросы до тех пор, пока не будут обработаны предыдущие запросы. Как только мы получаем ответы на ранее запущенные запросы, рабочие потоки могут обрабатывать их асинхронно, увеличивая пропускную способность.
Однако я не вижу, как неблокирующий ввод-вывод напрямую приносит пользу приложению с низкой задержкой.
Я предполагаю, что «асинхронное поведение — отличный способ избежать конфликтов». Если это так, низкая конкуренция означает низкую задержку. Следовательно, NIO может помочь с низкой задержкой. Имеет ли это смысл?