Почему проводник процессов показывает тысячи потоков?

574
ton.yeung

На скриншоте ниже видно, что ОС сообщает о 2925 потоках.

В моих собственных программах я установил число потоков на ядро ​​около 1: 1, и это привело к самой быстрой общей обработке. Это связано с тем, что после начала переключения контекста производительность начинает ухудшаться.

Это не сработает, если количество выполняемых потоков исчисляется тысячами, так как количество переключений контекста сделает дополнительные потоки, которые я использую, в океане.

ОС сообщает о чем-то отличном от того, о чем я думаю, когда думаю о потоках?

enter image description here

enter image description here

1
Вы должны действительно перезагрузить компьютер иногда. Ave 8 лет назад 0
Я согласен, ** ты ** должен. ; D ton.yeung 8 лет назад 0
Произойдет переключение контекста, независимо от того, создаете ли вы один поток на ядро ​​или нет. У вас все еще есть несколько процессов, имеющих потоки, ожидающие работы. Я могу только предположить, что падение производительности, о котором вы упоминаете, происходит, когда поток переназначается на другое ядро, что вы не можете (легко) контролировать (и не должны пытаться делать это, кроме как в тех редких случаях) Lieven Keersmaekers 8 лет назад 0
Не хочу выходить за рамки темы ... Но i5 с 1,7 ГГц? XD Ab_ 8 лет назад 0

2 ответа на вопрос

1
Hefewe1zen

Один процесс может иметь несколько потоков. Операционная система отвечает за планирование потоков и процессов.

То, что вы видите, - это суммирование всех потоков, запущенных в данный момент в системе. Кроме того, переключение контекста является тривиальной операцией в современных ОС с многоядерными процессорами.

1
Cody Jackson

Hefewe1zen имеет это право; процессы могут содержать много потоков. Но не все из них обязательно работают одновременно

Многие из этих потоков могут быть приостановлены, ожидая какого-то события, и в этом случае планировщик ЦП не собирается их беспокоить. Кроме того, планировщик ЦП достаточно умен, чтобы дать львиную долю времени ЦП тем потокам, которые действительно в этом нуждаются. Так что вам не нужно сильно беспокоиться о том, что все эти потоки ухудшают производительность вашего компьютера.