Дмитрий, знаете как рекрутёры ищут ценные кадры? Открывают подписчиков по интересующему тегу и выходят на контакт с теми, кто занимает первые 3-5 строчек
Примерно так же на SO: открываешь интересующий тег и пишешь тем, у кого по нему золотой знак или лидерство в топе.
Сергей Горностаев
@sergey-gornostaev Куратор тега Асинхронное программирование
beduin01, асинхронные механизмы, такие как epoll, выполняются в единственном потоке, не блокируя его. Грубо говоря, крутится бесконечный цикл и на каждой итерации проверяется, какой из дескрипторов сменил состояние. Если какой-то дескриптор готов к чтению, вызываешь неблокируемую операцию чтения и продолжает итерацию. Подробное описание механизмов select, poll и epoll можно почитать например здесь, а про IOCP здесь. На Хабре вообще много статей на эту тему.
Сергей Горностаев
@sergey-gornostaev Куратор тега Асинхронное программирование
res2001, вот и я о том же. Я асинхронностью уже много лет обмазываюсь и не могу припомнить ни одной библиотеки, которая реализовывала бы асинхронный файловый ввод/вывод не с помощью потоков. Не особо углублялся в причины, но читал где-то (кажись в python dev-листах), что это обусловлено именно разительными отличиями в реализации файловой асинхронности в разных операционных системах.
Сергей Горностаев
@sergey-gornostaev Куратор тега Асинхронное программирование
beduin01, не могу ничего сказать про C#, писал на нём давно и мало. Возможно, в нём тоже спрятали использование пула потока, как в Node.js. А может C# использует IOCP для асинхронных файловых операций, но тогда они работают только в Windows.
Примерно так же на SO: открываешь интересующий тег и пишешь тем, у кого по нему золотой знак или лидерство в топе.