Окно VS2010 Threads показывает 25 потоков и Процесс. Потоки. Количество 50, Почему?

Окно VS2010 Threads показывает 25 потоков и Процесс. Потоки. Количество 50

Каковы другие 25, делают?

1
задан SLaks 17 June 2010 в 20:25
поделиться

2 ответа

Каждый раз, когда вы создаете поток в пользовательском коде, система создает соответствующий поток ядра. Мое предположение (хотя это, конечно, только предположение) состоит в том, что один из инструментов показывает количество только пользовательских потоков, а другой показывает количество как пользовательских потоков, так и потоков ядра.

1
ответ дан 2 September 2019 в 23:41
поделиться

Вероятно, пул потоков. Пул потоков создаст для вас кучу потоков, так что при их использовании вам не придется нести расходы на развертывание нового потока в этот момент.

Один из способов запустить что-то в пуле потоков - создать делегата и вызвать для него BeginInvoke. Например:

var a = new System.Action(() => { /* do work in the background! */ });
a.BeginInvoke(r => a.EndInvoke(r), null);

Тело действия будет выполнено в одном из этих потоков.

1
ответ дан 2 September 2019 в 23:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: