我有一個作業問題,我必須實現讀寫器鎖。請注意,我不查找/要求代碼。我希望瞭解讀寫器鎖的行爲,這將幫助我確定實現細節。讀寫器鎖執行
假設獲取鎖的請求遵循以下順序:爲了防止飢餓,我們是否應該按照相同的順序處理請求?如果我選擇跳過寫請求(從而給予讀者更高的偏好),我如何確保寫作者線程不會餓死?
如果給作家一個更高的偏好,我認爲讀者線程有可能會餓死。
我認爲我目前的計劃適用於像RRRRWRRRRWWWRRRRR,WWWWWWRRRRWRRRR,RRRRRRR,WWWWWWW,RWRRR,WRWWW等等的序列。
我還沒有考慮其他情況嗎? - 我知道這是一個難以回答的問題。因爲我沒有透露任何細節,也沒有列舉我考慮過的所有場景。請多多包涵!
在一個理想的世界中,爲所有傳入的讀取提供服務的時間將比最長的正在讀取的讀取時間短。你無法預測,但是你可以做一些適應程序行爲的動態方法。 – Flexo 2012-02-21 17:43:54