Re: Можно ли соптимизировать?
От: Crackjack Россия  
Дата: 27.09.11 07:42
Оценка:
Я встретил недавно такую схему в книге по UNIX. Для потоков обрабатывающих данные формируется одна очередь, а сообщения для них имеют идентификатор(в книге идентификатор конкретного потока, кому предназначены данные). Можно сделать примерно так: Потоки передают передающему потоку указатель на буфер размером 32 к, где в первых 4 байтах хранится идентификатор(допустим хандел, хотя сам указатель уже может являтся идентификатором), а дальше 512 байт сообщения. Передающий поток передаёт сообщение не с 0 а с 4 байта и принимает данные в этот же буфер начиная с 4 байта. Этот указатель ставится в очередь, которую выгребают потоки обрабатывающие данные. Один поток на передачу, один на прием не нужны, все равно протокол: запрос-ответ. Тут конечно главное избежать лишней обработки данных в потоке обмена.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.