看板 Grad-ProbAsk 關於我們 聯絡資訊
http://i.imgur.com/sO2aIKP.jpg
想問這題race condition的原因是因為沒有對value值做互斥嗎 想順便問一下那個sleep(2)這個函式中的(2)是什麼意思? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.240.11.166 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1484483420.A.0E7.html
gigayaya: 1.是 2.暫停2秒01/15 20:37
單位是秒?我以為是機器週期之類的... ※ 編輯: newpuma (42.72.116.49), 01/15/2017 21:52:23
yupog2003: 是秒沒錯喔,相似的還有usleep單位是microsecond01/15 21:53
yupog2003: nanosleep單位是nanosecond,不過這些其實都不是完全01/15 21:54
yupog2003: 精確的,就是接近這個數值這樣,跟題目無關,扯遠了...01/15 21:54
XD 可是有沒有可能thread已經sleep完 然後assigned回去,下一個thread才進去使用到v alue? ※ 編輯: newpuma (42.72.116.49), 01/15/2017 22:00:39
yupog2003: 是有可能的,所以題目給了一個條件是:with a very 01/15 22:03
yupog2003: light load,提示你只要考慮這兩個thread就好,當tid1 01/15 22:04
yupog2003: 去sleep的時候CPU就沒其他事情做了,有極極高的機率會 01/15 22:05
yupog2003: 把tid2拿來執行 01/15 22:05