→ MOONRAKER: 天阿你知道流程圖有一種格子叫判斷嗎 02/25 10:45
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.68.215.61
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1551012302.A.1A4.html
我的程式想法是這樣
init
|
V
create timer
| <--------------------------
V n |
100ms? ---------------> insert something to queue
| y
V
get someting from queue
然後覺得有些疑慮,不知道我這觀念有沒有對?
1 當timer一到時,被叫去從 Q 取資料,有可能是 insert Q 正在做一半。這樣取資料
可能會有問題?
2 假設你在 Q 的操作加上 lock,這樣 timer 100ms 一到,要去取資料有可能就因為
lock而無法完成?
3 假設你的 process 捕捉到了 timer 到期的 SIGALARM ,然後進入 handler,要是
handler 一直沒處理完呢? 還會再 timeout 進入 handler 嗎?
謝謝。
--