银行家算法是避免死锁的一种重要方法,本实验要求用级语言编写和调试一个简单的银行家算法程序。
2019-12-21 20:49:48 6KB C++
1
含本人实验报告,有具体流程图,实验课上写的,有更好的想法可以提出,大家一起学习,赚点积分不容易
1
原创实测有效的一个c++检测线程死锁的解决方法,已应用于项目,实测有效 原创文章地址:https://blog.csdn.net/liaozhilong88/article/details/80354414
2019-12-21 20:07:54 288KB 线程死锁检测
1
#include using namespace std; const int M = 3; const int N = 5; int Ava[M] = {3, 3, 2}; int All[N][M] = {{0,1,0},{2,0,0},{3,0,2},{2,1,1},{0,0,2}}; int Nee[N][M] = {{7,4,3},{1,2,2},{6,0,0},{0,1,1},{4,3,1}}; int work[N+1][M] = {{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}}; int flag[N][2] = {{0,0},{0,0},{0,0},{0,0},{0,0}}; int count = 0; void Safe(int num); int main() { int num = 0; for (int k = 0; k < M; ++k) { work[num][k] = Ava[k]; } Safe(num); cout << "total: " << count; system("pause"); return 0; } void Safe(int num) { if (num == N) { count++; for (int m = 0; m < N; ++m) { cout << flag[m][1] << " "; } cout << endl; }
2019-12-21 19:43:22 1KB 死锁检测递归
1
银行家算法实现资源分配
2019-12-21 19:43:01 189KB 死锁 银行家和随机
1
本系统是为了能够使操作系统的进程能够正确地共享资源,并且不会因为共享资源而陷入死锁,对此,采用银行家算法。把操作系统看作是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。操作系统按照银行家制定的规则为进程分配资源,当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源,否则就推迟分配。当进程在执行中继续申请资源时,先测试该进程已占用的资源数与本次申请的资源数之和是否超过了该进程对资源的最大需求量。若超过则拒绝分配资源,若没有超过则再测试系统现存的资源能否满足该进程尚需的最大资源量,若能满足则按当前的申请量分配资源,否则也要推迟分配
1
银行家算法避免死锁问题的C++程序,初始状态从文件中读入,本程序是对《计算机操作系统》第四版汤小凤一书中所描述的银行家算法实验
2019-12-21 19:32:26 13.58MB C++ VS2010
1
最近想写一个识别线程死锁的算法,在网上找了半天没有合适的代码,自己写了个查找有向图中的环的代码(可以将死锁的资源依赖建模成含环的有向图)。本代码经过充分测试,内部有详细说明,可以放心下载。
2019-12-21 18:55:17 3KB 线程死锁识别 有向图中的环
1
一份小项目的源代码,它超越了串口助手,给人一种耳目一新的感觉。亮点如下: 1.它解决了,串口关闭时出现死锁不响应问题,可以直接用到开发的项目上。 2.并且是扩展了的串口助手,具有通信协议编辑和使用功能, 3.软件升级检测,值得做软件升级例子使用。 4.最重要的是源代码很不错,很值得大家去研究。 分享给做工控上位机的朋友们,有问题,可以留言,以便做进一步修正。
2011-11-06 00:00:00 200KB CSerialPort类 线程死锁 串口助手
1