银行家算法基本原理

银行家把一定数量的资金供多个用户周转使用。
当顾客对资金的最大申请量不超过银行家现金时,就可接纳,顾客可以分期借款;
但借款总数不能超过最大申请量,银行家对顾客的借款可以推迟支付,但总能在有限的时间里得到借款;
当顾客得到全部资金后,他一定能在有限时间里面归还所有资金。

Max:线程对资源最大需求
Allocation:系统分配已分配给线程每类资源的数目
Need:线程还需要的资源数
Available:系统还剩下的资源数。

《银行家算法基本原理》
例如上面这个情况。
系统有ABC三种资源,银行家算法就是对比Available和Need,如果能满足需求就分配资源,执行完毕并释放所有资源,
系统现在有3个A,2个B,3个C,可以满足Th1 Th3 Th4
运行Th1后,并把原有的资源也释放出来,系统就有4个A,3个B,4个C,然后继续去找能运行哪一个。

    原文作者:银行家问题
    原文地址: https://blog.csdn.net/DT_Zhangshuo/article/details/82881277
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞