银行家算法------------------狄泰软件学院

---恢复内容开始---

一、银行家算法

1、问题描述

(1)、研究银行家如何将总数 一定的资金,安全

地借给若干个顾客,使顾客既能满足对资金的需求,

也使银行家可以收回自己的全部资金,不至于破产

2、以下限制条件

(1)、每个顾客在借款前必须提前说明所需资金总额

(2)、每次借钱都是以一个单位进行(如,一个单位为一万人民币)

(3)、顾客在拿到一个单位的借款前可能需要等待

(4)、银行保证顾客的等待事件是有限的(借或者不借)

3、算法实例

4、算法策略:将资金优先借给需求较少的客户

5、应用场景

(1)、操作系统内核中的进程管理

(2)、数据库内核中的频繁事务管理

6、Qt中算法实施方案

(1)、使用多线程机制模拟客户和银行

(2)、银行优先分配给资源最小的客户

(3)、当客户的需求无法满足的时候

A、收回已分配的资源

B、强制线程结束

二、小结

1、银行家算法常用于资源分配的场合

(1)、解决的问题:保证资源分配的安全性

(2)、算法策略:优先选择量需求较少的客户进行资源分配

---恢复内容结束---

原文地址:https://www.cnblogs.com/gui-lin/p/6478550.html