Информация об изменениях

Сообщение Re[10]: много Thread или ThreadPool от 23.02.2018 18:17

Изменено 23.02.2018 18:21 alexsoff

Re[10]: много Thread или ThreadPool
Здравствуйте, RushDevion, Вы писали:


RD>Тред-пул устроен как.

RD>Доходит до semaphore.Wait() и встает в состояние WaitSleepJoin.
Я о случае когда задач на обработку нет и в semaphore.Wait не вызывается.
Т.е. все созданные задачи через StartNew завершились и в очереди нет новых задач. Логично же предположить, что сработает механизм "сборки" долговременно не активных потоков.
Re[10]: много Thread или ThreadPool
Здравствуйте, RushDevion, Вы писали:


RD>Тред-пул устроен как.

RD>Доходит до semaphore.Wait() и встает в состояние WaitSleepJoin.
Я о случае когда задач на обработку нет и в semaphore.Wait не вызывается.
Т.е. все созданные задачи через StartNew завершились и в очереди нет новых задач. Логично же предположить, что сработает механизм "сборки" долговременно не активных потоков.

Вот нашел подтверждение своих слов с msdn

Beginning with the net_v40_short, the thread pool creates and destroys worker threads in order to optimize throughput, which is defined as the number of tasks that complete per unit of time