Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Ээээ.. Чо? :) Есть 2 буфера - драйвера и твой,... 22.08.08 11:09 Число просмотров: 2397
Автор: IgorR <Igor Razin> Статус: Member
|
> Ключевой поинт - если завершение операции синхронное (в > данном случае), то поток может вычитывать данные из > системного кэша (которые туда поместил драйвер) без > переключения контекста. Ээээ.. Чо? :) Есть 2 буфера - драйвера и твой, пользовательский (я за сокеты говорю). При любом завершении данные из сокетного копируются в твой (если сокетный не установлен в 0), из которого ты и будешь брать. А уж переключится контекст или нет - оно неведомо в любом случае. Не понимаю, где ты тут выиграть хочешь?
> Тогда с большой вероятностью два или > более потока (на разных CPU) могут одновременно > обрабатывать разные pending issue из очереди IOCP для одно > и того же сокета вне всякой > последовательности: Ёптель. Ты несколько раз подряд WSARecv вызываешь что-ли? Если да, то ничем помочь не могу, я извращениями не занимаюсь ;) Если нет, то, конечно, никаких таких проблем нет. Кстати, для одновременных запросов WSARecv вполне логично их нумеровать, таким образом восстанавливая последовательность (но это, повторюсь, извращение).
|
|
|