// 自私讀者的 讀者寫者問題
using system;
using system.threading;
public class book
public int numofpages
}public int this[int index]
int valuecopy = pages[index]; // 讀取乙個資料
console.writeline( thread.currentthread.name + " 讀了 第" + (index + 1) + "頁,他讀到的資料是" + valuecopy );
displaycontent();
lock(mutex)
return valuecopy;
}set}}
private void displaycontent()","書的內容是:");
for(int i = 0;i < pages.length;i++)",pages[i]);
}console.writeline("/r/n");}}
public class reader
public void read()}}
public class writer
public void write()}}
public class test;
string writernames = ;
thread readerthreads = new thread[3];
thread writerthreads = new thread[3];
for(int i = 0;i < 3;i++)
for (int i=0; i<3; i++) }}
原創 C 編寫的讀者寫者問題(自私的讀者)
自私讀者的 讀者寫者問題 using system using system.threading public class book public int numofpages public int this int index int valuecopy pages index 讀取乙個資料 co...
讀者寫者問題
生產者消費者問題一樣,讀者寫者也是乙個非常著名的同步問題。讀者寫者問題描述非常簡單,有乙個寫者很多讀者,多個讀者可以同時讀檔案,但寫者在寫檔案時不允許有讀者在讀檔案,同樣有讀者在讀檔案時寫者也不去能寫檔案。上面是讀者寫者問題示意圖,類似於生產者消費者問題的分析過程,首先來找找哪些是屬於 等待 情況。...
讀者寫者問題
問題簡述 讀者 寫者問題的讀寫操作限制 包括讀者優先和寫者優先 1 寫 寫互斥,即不能有兩個寫者同時進行寫操作。2 讀 寫互斥,即不能同時有乙個執行緒在讀,而另乙個執行緒在寫。3 讀 讀允許,即可以有乙個或多個讀者在讀。讀者優先的附加限制 如果乙個讀者申請進行讀操作時已有另乙個讀者正在進行讀操作,則...