→ Caesar08: ok 我自己搞定了 08/20 13:56
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
問題(Question):
要做readers–writers proble的readers-preference
1.因為不知道每個reader的read時間,因此採用shared_ptr幫忙,讓最後一個reader移除資料
2.使用weak_ptr幫助各個thread拿到shared_ptr
但是mutex的使用規則是 "lock與unlock要由同一個thread完成"
因此要是遇到 "第一個reader讀取完畢,第二個reader還在讀取" 就會有錯
在VC的debug模式下會跳出unlock of unowned mutex
我想問的是
1.這樣的做法是否有誤?
2.unlock of unowned mutex這件事情,該如何處理?
程式碼(Code):(請善用置底文網頁, 記得排版)
http://codepad.org/nGyfou1Y
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.249.118.215
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1408343556.A.969.html