Здравствуйте, c-smile, Вы писали:
CS>Здравствуйте, Аноним, Вы писали:
А>>ТАкая ситуация. Клиент логинится на сервер и просит его выслать ему информацию. На каждый запрос создается поток. Соединение довольно скоротечное и сокеты блокирующие. Сейчас код выглядит так.
CS>Дурная мысль: а зачем там потоки вообще?
CS>Дело в том что сокеты сами по себе очереди (входящие) и если у тебя CS>отдаваемая информация под рукой проще отдать её сразу.
CS>Очень большая вероятность что такое решение будет работаь быстрее CS>чем на потоках. UDP еще для такого типа трафика весьма полезно.
Полностью согласен с c-smile — в большинстве случаев потоки действительно не нужны. Но если уж совсем критично (скорость, надежность), то смотреть лучше не в сторону потоков и даже их пула (хотя всегда есть варианты) — а в сторону организации еще одной очереди, куда вы будете отправлять принятые вами сообщения — очереди на обработку сообщений (ка вариант см. MessageQueue, Service Broker на Yukon, AQ Oracle и даже Names Pipe) — просто на другой стороне очереди (возможно даже на другом железе) организуете нужное вам количество слушающих эту очередь потоков и все.