[理工] OS 102交大

看板Grad-ProbAsk作者 (你好)時間10年前 (2014/02/08 16:35), 編輯推噓0(0013)
留言13則, 4人參與, 最新討論串1/1
http://ppt.cc/Qfdk 請問這題我覺的答案為11 但是它給6 如果是這樣 是因為它有sleep的關係 所以他assign回去的時間比較慢 所以才是6嗎 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.122.184.118

02/08 16:37, , 1F
02/08 16:37, 1F

02/08 16:38, , 2F
請問如果sleep拿掉 答案是否為11
02/08 16:38, 2F

02/08 16:39, , 3F
02/08 16:39, 3F

02/08 16:40, , 4F
感恩
02/08 16:40, 4F

02/08 16:57, , 5F
pthread_join(tid2, NULL);不是等tid跑完拿到資料後再繼續
02/08 16:57, 5F

02/08 16:59, , 6F
嗎? 那麼sleep(2)還會影響嗎 不太懂這題 有人可以教一下嗎
02/08 16:59, 6F

02/08 16:59, , 7F
打錯了 上面是想打tid2的
02/08 16:59, 7F

02/08 17:33, , 8F
tid 先執行 此時 value = 1, temp = 6
02/08 17:33, 8F

02/08 17:34, , 9F
tid 的 temp 得到 6 之後就去睡覺了
02/08 17:34, 9F

02/08 17:34, , 10F
輪到 tid2 執行 此時 value = 1, temp = 6 睡覺去
02/08 17:34, 10F

02/08 17:35, , 11F
不管是 tid 還是 tid2 在醒來之後誰先搶到 CPU
02/08 17:35, 11F

02/08 17:36, , 12F
都是 tid 先把 value = 6 再讓 tid2 把 value = 6
02/08 17:36, 12F

02/08 17:43, , 13F
太感恩了!
02/08 17:43, 13F
文章代碼(AID): #1IzUnZJK (Grad-ProbAsk)