2016-05-28 6 views
1

Заблокирован ли поток, который заблокирован? Почему и как? Спасибо всем экспертам за ответы.Заблокирован ли поток, который заблокирован? Почему и как?

+1

Процесс никогда не может быть «заблокирован». Это объект операционной системы, контейнер для исполняемого кода и данных. Код выполняется потоками. Если поток, который заботится о пользовательском интерфейсе, блокирует или удаляет леса, делая что-то еще, чем заботится о пользовательском интерфейсе, тогда вы, вероятно, поймете, что «процесс заблокирован». –

+1

Термин, который мы используем для процессов, обычно «висит», а не «заблокирован». Процесс может зависать, потому что все потоки в процессе блокируются, например, в тупике, но он также может зависать, потому что поток попадает в бесконечный цикл, или существует более сложное вечное повторение, включающее несколько потоков. –

ответ

2

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

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

Итак, как вы, возможно, догадались, Нет! Нить не может блокировать процесс.

3

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