银行家算法基本原理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/DT_Zhangshuo/article/details/82881277

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

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

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

猜你喜欢

转载自blog.csdn.net/DT_Zhangshuo/article/details/82881277
今日推荐