大家好,又见面了,我是你们的朋友全栈君。
《银行家算法代码c语言编写》由会员分享,可在线阅读,更多相关《银行家算法代码c语言编写(4页珍藏版)》请在人人文库网上搜索。
1、define M 100#includeint maxMM,allocationMM,needMM,availableM; int i,j,n,m,r;void testout() /算法安全性的检测 int k,flag,v=0;int workM,aM;char finishM;r=1;for(i=0;i0)for (i=0;iworkj)flag=0;if (flag=1) /找到还没完成的且需求数小于可提供进程继续运行的 finishi=T; /资源数的进程av+=i; /记录安全序列 for (j=0;jneedij)p=1; /判断是否超过最大资源数if(p)printf(请求超过。
2、最大资源数!n);elsefor(j=0;javailablej)q=1; /判断是否超过可用资源数if(q)printf(没有足够的可用资源!n);elsefor(j=0;jm; j+) available1j=availablej; /保存原已分配的资源数,需要的资源数,和可用的资源数allocation1ij=allocationij;need1ij=needij;availablej=availablej-requestj; /系统尝试把资源分配给请求的进程allocationij=allocationij+requestj;needij=needij-requestj;print(); /输出可用资源数testout(); /进行安全检测if(r=0) /分配后状态不安全for (j=0;jm; j+) availablej=available1j; /还原分配前的已分配的资 源数,仍需要的资源数和可用的资源数 allocationij=allocation1ij;needij=need1ij;printf( 不安全,请返回!n);print();。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/135587.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...