Основной поток + пул потоков и загрузка процессора - PullRequest
0 голосов
/ 19 апреля 2011

Если я создаю консольное приложение и выполняю много работы с пулом потоков, и поддерживаю консольное приложение, используя единственную Console.ReadLine ();

Будет ли приложение работать с максимальной нагрузкой в ​​этом случае?Сможет ли пул потоков использовать как можно больше ресурсов процессора?Или Console.ReadLine захватывает основной поток таким образом, что он крадет процессор из пула потоков?

(я полагал, что ReadLine не ворует время процессора значительным образом, но согласноПрофилировщик JetBrains, 60% процессорного времени тратится в моем единственном операторе ReadLine)

1 Ответ

0 голосов
/ 19 апреля 2011

Компьютер НЕ использует Console.RealLine, просто посмотрите на диспетчер задач.

Но основной поток вашего приложения «зависает» на Console.Readline, поэтому профилировщик сообщает об этом.

Правильно то, что вы говорите, он сообщает об этом как о горячей точке, потому что основной поток тратит большую часть времени на эту функцию (а профилировщик предполагает, что время потрачено = загрузка ЦП).

...