Думай на Java

       

Блокировки


Процесс может быть в одном из четырех состояний:

 New: Процесс был создан, но не был еще запущен, так что он не может выполняться.

 Runnable: Это означает, что процесс может

быть выполнен когда механизм распределения квантов времени CPU даст возможность выполняться процессу. Так, процесс может, а может и не быть выполняемым, но ему ни чего не препятствует  быть выполняемым в том момент, когда пришла его очередь (квант времени); он не мертв и не заблокирован.

 Dead: Нормальный способ процесса завершиться является возврат из его run() метода. Можно также  вызвать stop( ), но это вызовет исключение являющееся подклассом Error (что означает, что вы не поместили вызов в блок try). Помните, что генерация исключения должно быть специальным событием и не является частью нормального хода выполнения программы; так, использование stop() запрещено (deprecated) в Java2. Также существует  метод destroy() (который ни когда не был реализован), который вы не должны вызывать если можно этого избежать поскольку это радикальное решение и не снимает блокировку объекта.

 Blocked: Процесс может быть запущен, но не будет выполняться. Пока процесс находиться в блокированном состоянии планировщик просто пропускает его и не выделяет квантов времени. До тех пор, пока процесс не перейдет в состояние runnable, процесс не выполнит ни одной операции.



Содержание раздела