---恢复内容开始---
一、银行家算法
1、问题描述
(1)、研究银行家如何将总数 一定的资金,安全
地借给若干个顾客,使顾客既能满足对资金的需求,
也使银行家可以收回自己的全部资金,不至于破产
2、以下限制条件
(1)、每个顾客在借款前必须提前说明所需资金总额
(2)、每次借钱都是以一个单位进行(如,一个单位为一万人民币)
(3)、顾客在拿到一个单位的借款前可能需要等待
(4)、银行保证顾客的等待事件是有限的(借或者不借)
3、算法实例
4、算法策略:将资金优先借给需求较少的客户
5、应用场景
(1)、操作系统内核中的进程管理
(2)、数据库内核中的频繁事务管理
6、Qt中算法实施方案
(1)、使用多线程机制模拟客户和银行
(2)、银行优先分配给资源最小的客户
(3)、当客户的需求无法满足的时候
A、收回已分配的资源
B、强制线程结束
二、小结
1、银行家算法常用于资源分配的场合
(1)、解决的问题:保证资源分配的安全性
(2)、算法策略:优先选择量需求较少的客户进行资源分配
---恢复内容结束---