久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx

java怎么實現銀行家算法-創新互聯

本篇內容主要講解“java怎么實現銀行家算法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“java怎么實現銀行家算法”吧!

10年積累的成都做網站、網站設計、外貿營銷網站建設經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站設計后付款的網站建設流程,更有朗縣免費網站建設讓你可以放心的選擇與我們合作。

本文實例為大家分享了java實現銀行家算法的具體代碼,供大家參考,具體內容如下

import java.util.Arrays;import javax.swing.JOptionPane;public class Banker_Dijkstra { static int available[]={3,3,2};   //可利用資源數  static int max[][]={{7,5,3},{3,2,2},{9,0,2},{2,2,2},{4,3,3}};;   //每線程較大需求  static int allocation[][]={{0,1,0},{2,0,0},{3,0,2},{2,1,1},{0,0,2}}; //已分配資源  static int need[][]={{7,4,3},{1,2,2},{6,0,0},{0,1,1},{4,3,1}};  //需求  static int request[]=new int[3];   //存放請求資源  static int thread; //線程號  static JOptionPane jpane = new JOptionPane(); // static boolean m; public static void main(String[] argv){   int n = 0 ;  Banker_Dijkstra bd = new Banker_Dijkstra();  for(int i=0;i<5;i++){   if(bd.safeState(i)){    JOptionPane.showMessageDialog(jpane, "系統狀態安全");    n=1;    break;   }else{    n=2;    continue;      }  }    if(n==1){   bd.getThread();   }  else if(n==2){   JOptionPane.showMessageDialog(jpane, "系統狀態不安全");  } } protected void getThread(){//輸入測試線程號且輸出結果  try{  String xiancheng = JOptionPane.showInputDialog(jpane,"請輸入申請資源的線程:");  thread = (int) Integer.parseInt(xiancheng);  }catch(Exception e){   int response = JOptionPane.showConfirmDialog(jpane, "請輸入0~4:",null, JOptionPane.YES_NO_OPTION);    // 處理異常   if(response==0){    getThread();   }else if(response ==1){    System.exit(0);   }  }  if(thread<0||thread>4){    JOptionPane.showMessageDialog(jpane, "請輸入0~4:");    getThread();   }else{    for(int i=0;i<3;i++){     String requestR = JOptionPane.showInputDialog(jpane,"請輸入申請的第"+(i+1)+"種資源(若不申請則填0)");    try{    request[i]=Integer.parseInt(requestR);}    catch(Exception e){     JOptionPane.showConfirmDialog(jpane, "請輸入申請的第"+(i+1)+"種資源(若不申請則填0)",null,JOptionPane.YES_NO_OPTION);    }   }    if(request[0]>need[thread][0]||request[1]>need[thread][1]||request[2]>need[thread][2]){     JOptionPane.showMessageDialog(jpane,thread+"線程申請的資源超出其需要的資源,請重新輸入");     getThread();    }else{     if(request[0]> available[0]||request[1]> available[1]||request[2]> available[2]){     JOptionPane.showMessageDialog(jpane,thread+"線程申請的資源大于系統資源,請重新輸入");      getThread();     }    }    // 分配資源   allocateData(thread);    // 判斷 繼續模擬選擇與處理   int tag=0;   if(check(thread)){     try{     String str = JOptionPane.showInputDialog(jpane,"是/否 繼續模擬?( 1/0 ):");     tag = Integer.parseInt(str);     }catch(Exception e){      JOptionPane.showMessageDialog(jpane, "繼續 輸入(數值) 1,不繼續 輸入(數值) 0 !");     }     if(tag==1){       recoverData(thread);       getThread();      }     else{     if( (JOptionPane.YES_NO_OPTION)==JOptionPane.CANCEL_OPTION)System.exit(0);     if((JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION) recoverData(thread);     }   }else{     recoverData(thread);     getThread();     }   } } // 安全算法 private boolean check(int thread2) {  boolean[] finish = new boolean[5];   Arrays.fill(finish, false);  int[] work = new int[3];  int[] queue = new int[5];  int q=0;//安全序列下標  for(int i = 0;i<3;i++){   work[i] = available[i];  }  int tT = thread2;  while(tT<5){   for(int R=0;R<3;R++){    if((!(finish[tT]==false))||(!(work[R]>=need[tT][R]))){     tT++;     break;    }else{     if(R==2){      for(int m =0;m<3;m++){       work[m] += allocation[tT][m];      }      for(int s:work){       System.out.print(s+" ");      }      System.out.println("");      finish[tT] = true;      queue[q] = tT;      q++;      tT =0;     }    }   }   }  for(int p =0;p<5;p++){   if(finish[p]==false){    JOptionPane.showMessageDialog(jpane, "安全序列生成失敗");    return false;    }  }   JOptionPane.showMessageDialog(jpane, "安全序列:"+queue[0]+","+queue[1]+","  +queue[2]+","+queue[3]+","+queue[4]);   return true; } private boolean safeState(int thread3){  boolean[] finish = new boolean[5];   Arrays.fill(finish, false);   int[] work = new int[3];   int[] queue = new int[5];   int q=0;//安全序列下標   for(int i = 0;i<3;i++){    work[i] = available[i];   }   int tT = thread3;   while(tT<5){    for(int R=0;R<3;R++){     if((!(finish[tT]==false))||(!(work[R]>=need[tT][R]))){      tT++;      break;     }     else{      if(R==2){       for(int m =0;m<3;m++){        work[m] += allocation[tT][m];       }       finish[tT] = true;       queue[q] = tT;       q++;       tT =0;      }     }//     if((finish[tT]==false)&&(work[R]>=need[tT][R])){//      for(int m =0;m<3;m++){//       work[m] += allocation[tT][m];}//      finish[tT] = true;//      queue[q] = tT;//      q++;//      tT=0;//      }else{ //       tT++;//       break;//       }    }    }   for(int p =0;p<5;p++){    if(finish[p]==false){     return false;     }   }    return true; } private void recoverData(int thread2) { // 生成失敗則重置已分配資源  for(int i=0;i<3;i++){    //重新調整系統資源數    available[i]+=request[i];    //計算各個線程擁有資源    allocation[thread2][i]-=request[i];    //重新計算需求    need[thread2][i]+=request[i];   }  } private void allocateData(int thread2) { //分配  for(int i=0;i<3;i++){    //重新調整可用系統資源數    available[i]-=request[i];    //計算各個線程分配后擁有資源    allocation[thread2][i]+=request[i];    //重新計算需求    need[thread2][i]-=request[i];   }   }}

到此,相信大家對“java怎么實現銀行家算法”有了更深的了解,不妨來實際操作一番吧!這里是創新互聯建站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

網站欄目:java怎么實現銀行家算法-創新互聯
瀏覽路徑:http://www.js-pz168.com/article46/dgoghg.html

成都網站建設公司_創新互聯,為您提供企業建站全網營銷推廣響應式網站網站營銷微信公眾號企業網站制作

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都seo排名網站優化
久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx
欧美一级精品大片| 亚洲一二三区在线观看| 午夜精品福利久久久| 国产一区二区三区最好精华液| 91成人伦理在线电影| 亚洲国产精品www| 欧美不卡一区二区三区| 亚洲精品国产a久久久久久| 精品一区二区影视| 精品国产免费久久久久久尖叫 | 一色屋精品亚洲香蕉网站| 青娱乐精品在线视频| 91成人在线看| 在线观看国产日韩| 国产精品视频一二三| 久久精品国产99国产| 国产精品国产精品| 欧美日韩国产高清一区二区| 国产精品免费人成网站| 激情久久五月天| 精品在线不卡| 欧美一区二区三级| 亚洲国产成人av| thepron国产精品| 色综合 综合色| 中文字幕第一区综合| 久国产精品韩国三级视频| 久久99国产精品| 日韩欧美高清在线| 天天av天天翘天天综合网| 97se国产在线视频| 欧美精品在线观看播放| 一区二区三区色| 99re66热这里只有精品3直播| 色爱区综合激月婷婷| 中文字幕中文乱码欧美一区二区 | 欧美一卡二卡在线| 亚洲va欧美va国产va天堂影院| 3d蒂法精品啪啪一区二区免费| 在线观看91视频| 亚洲男女一区二区三区| 99国产麻豆精品| 欧美日韩你懂得| 亚洲国产综合91精品麻豆| 99影视tv| 日韩欧美中文字幕制服| 日韩精品一二区| 欧美激情视频一区二区三区| 26uuu另类欧美| 国产在线精品一区二区不卡了 | 视频一区视频二区视频三区高| 久久久久久久网| 国内精品伊人久久久久av影院| 午夜精品福利一区二区| 国产精品剧情在线亚洲| av影院午夜一区| 欧美日韩大陆在线| 三级久久三级久久| 免费在线成人av电影| 国产欧美日韩中文久久| 丁香六月久久综合狠狠色| 在线观看日韩毛片| 亚洲成人在线免费| 乱一区二区三区在线播放| 国产日韩欧美麻豆| 成人一区二区三区中文字幕| 欧美色涩在线第一页| 天天综合天天做天天综合| 清纯唯美一区二区三区| 国产精品青草综合久久久久99| kk眼镜猥琐国模调教系列一区二区| 欧美三级电影精品| 日本美女一区二区三区视频| 先锋影音日韩| 亚洲综合一二区| 欧美精品亚洲| 亚洲少妇30p| 韩国成人一区| 中文字幕不卡在线| 91蜜桃传媒精品久久久一区二区| 日韩欧美一二三| 国产福利91精品| 在线成人av网站| 国内精品在线播放| 欧美三级韩国三级日本一级| 麻豆精品久久久| 91九色最新地址| 日本特黄久久久高潮| 亚洲一区二区高清视频| 亚洲一卡二卡三卡四卡| 日本一区二区三区四区在线观看| 亚洲乱码精品一二三四区日韩在线 | 欧美影院一区二区| 欧美aa在线视频| 日本乱人伦一区| 日本不卡视频一二三区| 中文字幕久久综合| 日本三级韩国三级欧美三级| 中国成人在线视频| 日韩激情中文字幕| 色狠狠综合天天综合综合| 日本va欧美va瓶| 欧美亚洲综合久久| 韩国中文字幕2020精品| 欧美精品第1页| 粉嫩嫩av羞羞动漫久久久| 日韩免费在线观看| 99精品偷自拍| 国产欧美精品一区二区色综合朱莉 | 国产精品免费在线| 日韩毛片一二三区| 欧美性xxxx69| 亚洲超碰97人人做人人爱| 正在播放国产精品| 久久99久久精品欧美| 8x福利精品第一导航| 成人免费的视频| 久久夜色精品国产噜噜av| 99久久综合狠狠综合久久止| 国产精品久久久久久久岛一牛影视| 久久久水蜜桃| 亚洲成人久久影院| 欧美在线视频日韩| 国产精品小仙女| 久久综合久久久久88| 国产区一区二区三区| 亚洲精品中文在线观看| 亚洲一区二区三区免费观看| 免费不卡在线视频| 欧美一区二区大片| 91精品国产一区二区三区动漫 | 美女尤物国产一区| 91.xcao| 91视频精品在这里| 成人免费小视频| 一区二区三区电影| 国产精品主播直播| 久久久久一区二区三区四区| 久久免费看av| 日韩国产一区二| 在线播放国产精品二区一二区四区| av资源网一区| 亚洲天堂免费在线观看视频| 伊人久久大香线蕉精品| 国产精品一区二区久久精品爱涩| 久久久亚洲欧洲日产国码αv| 精品在线视频一区二区三区| 无吗不卡中文字幕| 日韩一区二区三区在线| 国产欧美综合精品一区二区| 亚洲成人av在线电影| 91麻豆精品国产综合久久久久久| 99精品国产高清一区二区| 亚洲五码中文字幕| 欧美一区午夜精品| 国语精品中文字幕| 人人爽香蕉精品| 精品久久久久香蕉网| 久久香蕉综合色| 久久成人免费网| 国产欧美精品一区| 伊人久久大香线蕉综合75| 成人国产精品视频| 一区二区三区在线高清| 欧美精品欧美精品系列| 国产精品久久国产精品| 日韩在线一区二区三区| 亚洲精品在线观看网站| 欧美一区二区三区精美影视| 国产在线看一区| 中文字幕一区二区5566日韩| 欧美午夜精品理论片a级按摩| 147欧美人体大胆444| 丝袜美腿成人在线| 精品福利一二区| 亚洲日本精品一区| a在线欧美一区| 亚洲电影第三页| 久久综合资源网| 一区二区三区国产福利| 91影院在线观看| 日韩黄色片在线观看| 国产午夜精品一区二区三区视频 | 亚洲va韩国va欧美va| 精品国产污网站| 一区二区国产日产| 91精品国产91久久久久青草| 日韩电影免费在线看| 国产日韩亚洲欧美综合| 色女孩综合影院| 国产精品一区二区欧美黑人喷潮水| 美国十次综合导航| 成人免费在线观看入口| 欧美一区二区网站| 日韩高清专区| 91视频91自| 久久99精品久久只有精品| 亚洲色图19p| 日韩视频免费观看高清完整版在线观看 | 国产午夜三级一区二区三|