Могут ли потоки ввода / вывода с низким приоритетом блокировать потоки с высоким приоритетом? - PullRequest
0 голосов
/ 26 ноября 2018

Я слежу за книгой CLR via C # Джеффри Рихтера.Что касается приоритетов запросов ввода / вывода, в нем говорится:

Поскольку запросы ввода / вывода обычно требуют времени для обработки, возможно, что поток с низким приоритетом может значительно повлиять на отзывчивость системы, приостановиввысокоприоритетные потоки, что не позволяет им выполнять свою работу

Однако в документации Microsoft о Планирование потоков говорится, что:

Если вышепоток с приоритетом становится работоспособным, поток с более низким приоритетом вытесняется, а поток с более высоким приоритетом может выполняться снова

Даже в собственной книге Джеффа говорится о планировании потока:

* 1017Потоки с более высоким приоритетом всегда имеют приоритет перед потоками с более низким приоритетом, независимо от того, что выполняются потоки с более низким приоритетом.Например, если поток с приоритетом 5 работает, и система определяет, что поток с более высоким приоритетом готов к работе, система немедленно приостанавливает поток с более низким приоритетом (даже если он находится в середине своего временного интервала) и назначаетПроцессор для потока с более высоким приоритетом, который получает полный временной интервал.

Исходя из вышеизложенного, я понимаю, что всякий раз, когда выполняется поток ввода-вывода с низким приоритетом и поток с более высоким приоритетомнаходится в состоянии выполнения, поток с более высоким приоритетом выполняется временно приостановив поток ввода-вывода.Как для потоков с низким приоритетом возможно приостановить потоки с высоким приоритетом ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...