Как реализован неблокирующий ввод-вывод?

В Java, C# или некоторых других языках существуют неблокирующие средства ввода-вывода, например, для сокетов.

Таким образом, я могу передать свои функции обратного вызова неблокирующему вводу/выводу, и как только неблокирующий ввод/вывод что-либо получит, он вызовет мои обратные вызовы.

Мне интересно, как они реализованы. Если я создаю неблокирующий ввод-вывод за кулисами, Java или C# просто создают для них фоновые потоки? или базовая ОС имеет для них встроенную поддержку?

16
задан Jack 10 May 2012 в 16:47
поделиться