freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

讀者與寫者-操作系統(tǒng)課程設(shè)計實驗報告(參考版)

2025-01-22 01:12本頁面
  

【正文】 當一個線程訪問object的一個synchronize(this)同步代碼塊時,其他線程對object中所有其他synchronize(this)同步代碼塊的訪問將被阻塞。當兩個并發(fā)線程訪問同一個對象Object中的這個synchronize(this)同步代碼塊時,一個時間內(nèi)只能有一個線程得到執(zhí)行,另一個線程必須等待當前線程執(zhí)行完這個代碼塊以后才能執(zhí)行改代碼塊。解決方法是在調(diào)用wait()的方法前加上synchronized。在這個程序設(shè)計的過程中也出現(xiàn)了一些問題。 endWrite()。 notifyAll()。 if(t[2]!=null) t[2].start()。 }else if(t[0]!=null||t[1]!=null||t[2]!=null){ if(t[0]!=null) t[0].start()。 t[index+3] = null。 } } } public synchronized void endWrite(){ write = false。 try { wait(1000)。k。//獲取要寫入的內(nèi)容 char[] c = ()。 write = true。 } public synchronized void write(){ matu。 = noteArea。 = index。 } public static boolean isWrite(){ return write。 private Thread[] t。//分別表示共享文件、通知欄、該寫者對應的顯示框,都由構(gòu)造函數(shù)傳入 private String content。//表示寫者的序號 private static boolean write = false。import 。 endRead()。 } else if (t[5] != null) { t[5].start()。 if (t[3] != null) { t[3].start()。 (讀者 + index + 完成......\n)。// 等待1秒 } catch (InterruptedException e) { ()。 k++) { ( + c[k])。// 顯示框中已有的內(nèi)容 for (int k = ()。// 獲取內(nèi)容 char[] c = ()。 (讀者 + index + 到來......\n)。 = jta。 = File。 } /** * 構(gòu)造函數(shù),傳入必要的參數(shù) * * param index表示讀者對應的序號 * param File表示共享文件欄 * param noteArea表示同時欄 * param jta表示該讀者對應的顯示框 */ public Reader(Thread[] t, int index, JTextArea File, JTextArea noteArea, JTextArea jta) { = t。// 記錄讀者數(shù)量 Thread[] t。// 分別表示共享文件、通知欄、該讀者對應的顯示框,都由構(gòu)造函數(shù)傳入 private String content。//讀者類,要傳入一個整形參數(shù),表是讀者的序號,//主要是實現(xiàn)Runnable接口public class Reader implements Runnable { private int index。 } } } } }}package MyWork311。// 將到來的讀者放入等待隊列中 (寫者2到來,進入等待隊列...\n)。 m 。()==0){ t[5].start()。 if (() == 1amp。 Write w = new Write(t,2, File, noteArea, jta[5])。 break。 m++) { if (list2[m] == null) { list2[m] = w。 }else{ for (int m = 0。amp。 t[4] = new Thread(w)。 } } } } else if ((4)) {// 啟動讀者0,此處要啟動一個對應的線程來處理對應的讀者 jb[4].setIcon(im2)。// 將到來的讀者放入等待隊列中 (寫者0到來,進入等待隊列...\n)。 m 。()==0) { t[3].start()。 if (list2[0]==nullamp。 Write w = new Write(t,0, File, noteArea, jta[3])。 break。 m++) { if (list1[m] == null) { list1[m] = r。 } else {// 表示當前有寫者正在進行 for (int m = 0。 if (list2[0]==null) {// 表示當前沒有讀者正在進行且讀者等待隊列為空,可以立即開啟一個讀者 t[2].start()。 Reader r = new Reader(t,2, File, noteArea, jta[2])。 break。 m++) { if (list1[m] == null) { list1[m] = r。 } else {// 表示當前有寫者正在進行 for (int m = 0。 t[1] = new Thread(r)。 } } } } else if ((1))
點擊復制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1