При использовании семафоров может возникнуть ситуация
взаимной блокировки, или тупика. Например, пусть двум процессам
требуются два ресурса: принтер и диск. И пусть после того, как
процесс А занял принтер (установил блокирующую переменную), он
был прерван. Управление получил процесс В, который сначала занял
диск, но при выполнении следующей команды был заблокирован, так
как принтер оказался уже занятым процессом А. Управление снова
получил процесс А, который в соответствии со своей программой
сделал попытку занять диск и был заблокирован: диск уже
распределен процессу В. В таком положении процессы А и В могут
Достарыңызбен бөлісу: |