Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Нужно ли использовать IOCP в случае, если если очередь... 20.05.08 01:55 Число просмотров: 2692
Автор: void <Grebnev Valery> Статус: Elderman
|
> > Not always. > Always, always ;) > Только IOCP. Всё остальное - от незнания этого механизма. > Но начинать надо с потока на клиента, проще для понимания > :)
Нужно ли использовать IOCP в случае, если если очередь порта (IOCP completion queue) пополняется гораздо медленнее, чем рабочий поток его обрабатывает ( кроме того, предполагается, что нет блокирующих операций, так что поток никогда не будет помещён в IOCP paused thread list)? Т.е мы быстро обрабатывает относительно редкие запросы. IOCP очередь waiting threads - LIFO, так что в упомянутом выше случае IOCP будет "поднимать"тот_же_самый поток. Легко проверить - получается одно и тоже id = GetCurrentThreadId():
BOOL fOk = GetQueuedCompletionStatus(...);
DWORD id = GetCurrentThreadId();
|
|
|