【文章內(nèi)容簡(jiǎn)介】
鎖 P(m)與 P(S)顛倒 ? ,無(wú)影響 ,緊接著一個(gè)消費(fèi)者到來(lái)執(zhí)行 P(s)之后 ,在執(zhí)行 P(m)時(shí)阻塞 ,由于 s是互斥信號(hào)量 ,將所有后續(xù)到來(lái)的生產(chǎn)者和消費(fèi)者都因 s阻塞而產(chǎn)生死鎖 V(s)V(m)顛倒 ,V(s)V(n)顛倒 ? 9 2.讀者 –寫(xiě)者問(wèn)題( Courtois etal, 1971) 1) 問(wèn)題 共讀獨(dú)寫(xiě) “讀-寫(xiě)”互斥, “寫(xiě)-寫(xiě)”互斥, 讀-讀 允許 2) 解決方法 (1) 用 P、 V操作解決。 設(shè)置變量: 讀者的計(jì)數(shù)變量 readcount,初值為 0; 設(shè)置信號(hào)量: 讀者互斥訪問(wèn)計(jì)數(shù)變量 readcount 的信號(hào)量 r,初值為 1; 寫(xiě)者與寫(xiě)者、寫(xiě)者與第一個(gè)讀者互斥訪問(wèn)共享數(shù)據(jù)對(duì)象的信號(hào)量 w,初值為 1。 10 讀 者P ( r )r ea d co u n t = 0?P ( w )r ea d co u n t + 1 →r ea d co u n tNV ( r )讀操作( 共享數(shù)據(jù))P ( r )r ea d co u n t - 1 →r ea d co u n t