Связанный с алгоритмом банкиров

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

1 ответ

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

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

Другие вопросы по тегам