通過(guò)研究Linux的線程機(jī)制和信號(hào)量實(shí)現(xiàn)讀者寫(xiě)者(Reader-Writer)問(wèn)題并發(fā)控制。
1)寫(xiě)-寫(xiě)互斥:不能有兩個(gè)寫(xiě)者同時(shí)進(jìn)行寫(xiě)操作;
2)讀-寫(xiě)互斥:不能同時(shí)有一個(gè)線程在讀,而另一個(gè)線程在寫(xiě);
3)讀-讀允許:可以有一個(gè)或多個(gè)讀者在讀;
4)讀者優(yōu)先的附加限制:如果讀者申請(qǐng)進(jìn)行讀操作時(shí)已有另一個(gè)讀者正在進(jìn)行讀操作,則該讀者可直接開(kāi)始讀操作;
5)寫(xiě)者優(yōu)先的附加限制:如果一個(gè)讀者申請(qǐng)進(jìn)行讀操作時(shí)已有另一個(gè)寫(xiě)者在等待訪問(wèn)共享資源,則該讀者必須等到?jīng)]有寫(xiě)者處于等待狀態(tài)后才能開(kāi)始讀操作。
標(biāo)簽:
Reader-Writer
Linux
線程機(jī)制
信號(hào)量
上傳時(shí)間:
2016-09-28
上傳用戶:xg262122