1

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

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

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

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

2 ответа2

1

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

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

1

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .