Да, QUWI, но также и метод BeginInvoke () типа делегата.BackgroundWorker, используемый несколькими классами, является наиболее известным примером.Под капотом просто используется делегат BeginInvoke ().
Потоки завершения ввода-вывода - это очень низкоуровневая функция Windows, позволяющая быстро выполнить код после завершения запроса ввода-вывода.Наиболее заметны из последнего аргумента функции ReadFileEx (), есть и другие.Управляемый эквивалент предоставляется через ThreadPool.BindHandle ().
Задача классов .NET - сделать это правильно.Его используют лишь немногие: FileStream, PipeStream, FileSystemWatcher, Socket, внутренний рабочий поток SerialPort и некоторые классы поддержки каналов WCF.
Лично я не большой поклонник раскрытия этих деталей конфигурации в API, особеннопоток завершения ввода / вывода те.Это что-то вроде команды BCL, немного FUD с их стороны.Эти настройки влияют на всю программу, значения по умолчанию уже довольно щедры.Работа с ними примерно эквивалентна вызову GC.Collect ().Если вам когда-нибудь удастся найти вескую причину, чтобы изменить их, лучше всего, если вы застряли в адской дыре, и осталось всего один час, чтобы успеть на самолет домой.Был там:)