Пул потоков

Тема в разделе "WASM.WIN32", создана пользователем bolt90, 15 мар 2012.

  1. bolt90

    bolt90 New Member

    Публикаций:
    0
    Регистрация:
    21 май 2009
    Сообщения:
    18
    С начало сделал простую версию сервера, где на каждого пользователя создается отдельный поток. Потом по мере развития уже создавалось тысячи потоков, причем на 2500 процесс уже не принимал соединения. Сделал обработку запросов в пуле потоков с помощью виндовских апи. В результате стало тормозить еще больше, даже визуально - после обработки каждого запроса в консоль писалось типа "я закончил". В первом варианте проматывалась консоль очень быстро, а теперь по пару записей в секунду.
    Пользовался стандартным пулом
    Код (Text):
    1. workset=CreateThreadpoolWork(ThreadPool,param,0);
    2. SubmitThreadpoolWork(workset);
    3. CloseThreadpoolWork(workset);
    потом сам создавал
    Код (Text):
    1. pool=CreateThreadpool(0);
    2. SetThreadpoolThreadMaximum(pool,10);
    3. SetThreadpoolThreadMinimum(pool,100);
    4. InitializeThreadpoolEnvironment(&pcbe);
    5. SetThreadpoolCallbackPool(&pcbe,pool);
    может я не правильно использую?