В чем разница между состояниями потоков и состояний процессов? - PullRequest
0 голосов
/ 25 апреля 2019

Я узнал, что если процесс заблокирован, он будет выгружен на диск и будет ждать события пробуждения.Но если процесс может иметь несколько потоков, что если поток заблокирован?Например, один из потоков ожидает четной клавиатуры, поток будет заблокирован.Тогда процесс также будет заблокирован или возможно, что заблокирован только поток и процесс запущен?

1 Ответ

1 голос
/ 26 апреля 2019

Я узнал, что если процесс заблокирован, он будет выгружен на диск и будет ждать события пробуждения.

Возможно, вы читаете очень старую документацию,Вероятно, под «процессом» это подразумевает что-то запланированное ядром.

Но, если процесс может иметь несколько потоков, что, если поток заблокирован?Например, один из потоков ожидает события клавиатуры, поток будет заблокирован.Тогда будет ли процесс также заблокирован, или возможно, что заблокирован только поток и процесс запущен?

Если вы определяете «процесс» как контейнер, состоящий из адресного пространства, файлнабор дескрипторов и т. д., который может содержать более одного потока, поэтому не существует такой вещи, как блокируемый процесс.Что именно заблокирует процесс?

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