[問題] 使用 pthread_mutex_lock thread交錯

作者: shihyuyao (shihyuyao)   2016-05-12 00:07:39
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[+]
請問這是可能是什麼原因造成
謝謝
作者: wtchen (沒有存在感的人)   2016-05-12 01:46:00
多核的話這樣算正常吧,你不能保證哪個thread先醒過來

Links booklink

Contact Us: admin [ a t ] ucptt.com