[問題] Mutex的問題
http://codepad.org/OwWHG4oe <---- Code
我的目的是想要以muti thread讀檔將檔案內一定格式的資料 (分成id 及數值) 讀出
然後我叫了兩個thread出來
因為幾乎整個thread裡在讀檔時用到的東西都是thread間需要共用的
所以一開始就用mutex 鎖起來
可是這樣執行時常常會有某一段變成 數值跟id存進的位子反了 (id存到struct裡的value)
(因為我把thread跑完以後的資料print出來一個一個檢查一遍)
就覺得很奇怪 剛好我在thread裡每從檔案裡讀完一筆資料就會提示一次做完
然後把已經讀取的次數加一
結果延著大筆資料print出來的結果算一算 數值跟id反了的位子剛好就是thread 1
讀完檔 換到thread2 讀檔完以後就反過來 我猜應該是在檔案指標讀的時候thread被切換
可是我mutex在thread的while裡第一行就lock起來了 結果還是沒辦法@@
想請問一下問題出在哪 感謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.195.221.161
→
11/09 07:46, , 1F
11/09 07:46, 1F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章