[問題] 如何在thread 不使用delay 可做定時執行?
在linux thread 裡面
使用到while(1)無窮回圈時
一般想在定時如200ms 執行一個副程式很多都是使用加一個delay
但又不想影響到在同個loop迴圈下面的程式,最少是還沒有執行要加的
200ms的副程式,是否有方式可以做重複定時後執行? Time 可以使用?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.133.54.79
※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1535377702.A.D4F.html
→
08/27 23:45, 
                                7年前
                            , 1F
08/27 23:45, 1F
推
08/28 13:24, 
                                7年前
                            , 2F
08/28 13:24, 2F
我的過
我目前有一個現成的程式,我在其中一個thread 中的while loop,裡面加一個副程式
我想以time計時方式每200ms跑一次,當這200ms時間還沒到,就先跑下面的其他程式
只要200ms時間到就先跑我加入的副程式,己知不能用delay() 但要一直重複做200ms
跑副程式
→
08/29 11:43, 
                                7年前
                            , 3F
08/29 11:43, 3F
→
08/29 16:58, 
                                7年前
                            , 4F
08/29 16:58, 4F
→
08/29 17:29, 
                                7年前
                            , 5F
08/29 17:29, 5F
推
08/29 18:19, 
                                7年前
                            , 6F
08/29 18:19, 6F
→
08/29 23:22, 
                                7年前
                            , 7F
08/29 23:22, 7F
→
08/29 23:22, 
                                7年前
                            , 8F
08/29 23:22, 8F
→
08/30 08:59, 
                                7年前
                            , 9F
08/30 08:59, 9F
不能加新的thread原因很簡單,這個是維護之前人寫的程式架構己固定,主管也不會同意
新加入的功能只是做更新資料動作,所以要每200ms重複做,時間沒到就先做
舊有的程式,200ms時間到再做資料更新,因還有舊程式在所以不能使用delay()
這樣加會導致舊程式不正常
→
08/31 02:35, 
                                7年前
                            , 10F
08/31 02:35, 10F
→
08/31 10:16, 
                                7年前
                            , 11F
08/31 10:16, 11F
→
08/31 10:16, 
                                7年前
                            , 12F
08/31 10:16, 12F
→
08/31 10:17, 
                                7年前
                            , 13F
08/31 10:17, 13F
→
08/31 10:44, 
                                7年前
                            , 14F
08/31 10:44, 14F
→
08/31 10:45, 
                                7年前
                            , 15F
08/31 10:45, 15F
→
08/31 10:46, 
                                7年前
                            , 16F
08/31 10:46, 16F
→
08/31 10:47, 
                                7年前
                            , 17F
08/31 10:47, 17F
推
09/04 05:25, 
                                7年前
                            , 18F
09/04 05:25, 18F
→
09/04 05:26, 
                                7年前
                            , 19F
09/04 05:26, 19F
→
09/04 05:26, 
                                7年前
                            , 20F
09/04 05:26, 20F
沒人說現有的架構不能修改,只是有主管在把關,而且他認為不需加新的thread
只需對原thread修改就可以了
※ 編輯: liang168 (220.133.54.79), 09/05/2018 11:40:57
→
09/05 17:23, 
                                7年前
                            , 21F
09/05 17:23, 21F
→
09/07 19:13, 
                                7年前
                            , 22F
09/07 19:13, 22F
→
09/07 19:13, 
                                7年前
                            , 23F
09/07 19:13, 23F
推
09/08 20:53, 
                                7年前
                            , 24F
09/08 20:53, 24F
推
09/09 10:22, 
                                7年前
                            , 25F
09/09 10:22, 25F
噓
01/08 17:23, 
                                7年前
                            , 26F
01/08 17:23, 26F
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章