В чем разница между WaitForMultipleObjects и boost :: asio в нескольких окнах :: basic_handle?

У меня есть список HANDLE, контролируемых множеством различных устройств ввода-вывода. Какая будет разница (в производительности) между:

  1. вызовом WaitForMultipleObjects на всех этих дескрипторах
  2. async_read на boost :: windows :: basic_handle вокруг всех этих дескрипторов

Является ли WaitForMultipleObjects O (n) комплексным временем с n количество ручек?
Вы можете как-то вызвать async_read в windows :: basic_handle, верно? Или это предположение неверно?
Если я вызываю run на одном устройстве ввода-вывода в нескольких потоках, будут ли вызовы обработки сбалансированы между этими потоками? Это было бы большим преимуществом использования asio.

5
задан Pieter 1 June 2011 в 16:51
поделиться