[問題] 使用 pthread_mutex_lock thread交錯

看板LinuxDev作者 (shihyuyao)時間9年前 (2016/05/12 00:07), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串1/1
https://gist.github.com/shihyu/813d13cc5803d259f74d29870f32f0ab 我起兩個 thread 測試交錯打印 pthread_mutex_unlock 之後過故意sleep(1) 讓另一條thread 可以先lock 這樣應該是 ap1_thread[+] ap2_thread[-] ap1_thread[+] ap2_thread[-] 不斷交錯 , 可是我測試結果會出現有連續印兩個ap2_thread[-] ap1_thread[+] ap2_thread[-] ap1_thread[+] ap2_thread[-] ap2_thread[-] ap1_thread[+] ap2_thread[-] ap1_thread[+] 請問這是可能是什麼原因造成 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.180.117.99 ※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1462982862.A.116.html

05/12 01:46, , 1F
多核的話這樣算正常吧,你不能保證哪個thread先醒過來
05/12 01:46, 1F

05/14 03:34, , 2F
或是一醒來就立刻被排程
05/14 03:34, 2F
文章代碼(AID): #1NCrZE4M (LinuxDev)
文章代碼(AID): #1NCrZE4M (LinuxDev)