Связанный с алгоритмом банкиров - PullRequest
3 голосов
/ 01 декабря 2011

Хотя банк распределяет ресурсы динамически, обеспечивая постоянную безопасность системы, что, если один из потоков не откажется от ресурсов, которые он выделил (из-за некоторого бесконечного цикла или чего-то еще), что приведет к неспособность банка удовлетворить потребности других потоков? Будет ли это называться тупиком?

1 Ответ

0 голосов
/ 22 октября 2015

В формальном аргументе для алгоритма банкира предполагается, что все программы возвращают свои ресурсы через конечное время, поэтому технически такой случай не может произойти (по крайней мере, не в математически совершенном мире, внутри которого проблема описано; -).

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

...