91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-04
  • 語言: C/C++
  • 標簽: C++??避免死鎖??模擬??

資源簡介

銀行家算法是一個經典的避免死鎖的算法,此模擬程序可以讓同學們更好的理解銀行家算法的思想

資源截圖

代碼片段和文件信息

#include?
using?namespace?std;
int?Available[30]; ??//可用資源數組
int?Max_matrix[20][30]; ?//最大需求矩陣
int?Allocation[20][30]; ??//分配矩陣
int?Need[20][30]; ?//?需求矩陣
int?Request[20][30]; ?? ??//進程需要資源數
bool?Finish[20];?????????????????????//?系統是否有足夠的資源分配
int?p[20];????????????????????????????//記錄序列
int?mn;?????????????????????????????//?m個進程n個資源

void?Initial();
bool?Safe();
void?Bank();
int?main()
{
????Initial();
????Safe();
????Bank();
}

void?Initial()??????????????????????????????????//初始化算法
{
????int?ij;
????cout<<“請輸入進程的數目:“;
????cin>>m;
????cout<<“請輸入資源的種類:“;
????cin>>n;
????cout<<“請輸入每個進程最多所需的各資源數(Max_matrix[i][j])按照“<????for(i=0;i????for(j=0;j????cin>>Max_matrix[i][j];
????cout<<“請輸入每個進程已分配的各資源數也按照(Allocation[i][j])“<????for(i=0;i????{
????????for(j=0;j????????{
????????????cin>>Allocation[i][j];
????????????Need[i][j]=Max_matrix[i][j]-Allocation[i][j];
????????????if(Need[i][j]<0)
????????????{
????????????????cout<<“您輸入的第“<????????????????j--;
????????????????continue;
????????????}
????????}
????}
????cout<<“請輸入各個資源現有的數目(Available:)“<????for(i=0;i????{
????????cin>>Available[i];
????}
}

void?Bank()??????????????????????????????????//銀行家算法
{
????int?iask;
????char?again;
????while(1)
????{
????????cout<<“請輸入要申請資源的進程號(注:第1個進程號為0依次類推)“<????????cin>>ask;
????????cout<<“請輸入進程所請求的各資源的數量“<????????for(i=0;i????????{
????????????cin>>Request[ask][i];
????????}
????????for(i=0;i????????{
????????????if(Request[ask][i]>Need[ask][i])
????????????{
????????????????cout<<“您輸入的請求數超過進程的需求量!請重新輸入!“<????????????????continue;
????????????}
????????????if(Request[ask][i]>Available[i])
????????????{
????????????????cout<<“您輸入的請求數超過系統有的資源數!請重新輸入!“<????????????????continue;
????????????}
????????}
????????for(i=0;i????????{
??

評論

共有 條評論