Я пытаюсь понять, почему используется IOCP. Я думаю, по двум причинам:Почему используется IOCP?
- Поскольку
WSARecv()
не будет блокировать, то я могу справиться с 1000s клиентов без необходимости создавать новый поток для каждого клиента (также существует ограничение на сколько потоков вы можете создать , и поэтому количество клиентов, с которыми вы можете справиться, будет ограничено). - С
WSASend()
не будет блокироваться, а затем, когда я хочу отправить большой файл, мне не нужно создавать новый поток для его отправки (если я не создавал новый поток, тогда поток пользовательского интерфейса будет блокироваться, конечно) ,
Какие еще причины для использования IOCP?
Уверен, что нет нитей, ожидающих завершения ввода-вывода. Это не масштабируется, потоки слишком дороги. –