[問題] Linux race condition的問題

看板C_and_CPP (C/C++)作者 (猩爺)時間16年前 (2009/10/31 23:27), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: pthread_mutex_lock 鎖不住 希望得到的正確結果:當使用者若選擇0,則在執行count的加減法時會用鎖 鎖住不讓其他thread變更count變數。作玩加加和減減兩個動作後,count值會為零 程式跑出來的錯誤結果:加上lock後還是沒用,還是會發生race condition。 count 值不為零 開發平台: linux 有問題的code: http://codepad.org/JKVV92Pd 補充說明:de了兩三個小時,實在看不出來有甚麼不對勁。拜託各位大哥大姊 救救我。程式可以跑,只是跑出來結果是錯的。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.232.1.160

10/31 23:59, , 1F
先join 再判斷error和印出count
10/31 23:59, 1F

11/01 00:05, , 2F
你沒等那兩個thread做完就印了
11/01 00:05, 2F

11/01 00:20, , 3F
問題已解決,感謝囉~
11/01 00:20, 3F

11/01 18:08, , 4F
整篇都亮色很難看 >_<
11/01 18:08, 4F
文章代碼(AID): #1Ax5THGw (C_and_CPP)
文章代碼(AID): #1Ax5THGw (C_and_CPP)