伊莉討論區
標題:
Queue使用技巧請教
[打印本頁]
作者:
superwaterdog
時間:
2016-8-11 09:47 PM
標題:
Queue使用技巧請教
各位好
Queue使用想必是為做非同步資料處理
但在Dequeue不外乎要有另一個執行序一直處理他
但當沒有資料要處理 直行序還卡在那
有無比較好的方式來進行Enqueue / Dequeue 的效果
謝
作者:
rr09192084
時間:
2016-8-12 11:48 AM
沒有資料時Queue.Count不就等於0了嗎?這應該是基本檢查是否還有資料的方式吧!
作者:
sheauren
時間:
2016-8-12 09:47 PM
這部分要看你Queue處理的觸發條件來決定運作方式,
如果是固定時間處理的話,那應該會有一個Timer來觸發Dequeue進行處理。
如果是避免同時間太多筆資料,那觸發該筆處理後只要Dequeue看是否還要繼續處理,就能將整個Queue處理完畢。
作者:
asdffdsa01
時間:
2016-8-14 11:26 PM
你可以在開一個Thread專門處理Dequeue的內容,當Queue.Count等於0時搭配ManualResetEvent這個技術去做停頓,每當Enqueue時就去觸發ManualResetEvent,處理Dequeue的Thread就又開始跑起來,我是這樣寫的!
作者:
min721107
時間:
2020-4-15 12:12 PM
可以使用Queue.Count來判斷是否有資料,在Multi Thread的使用下,Enqueue或Dequeue時最好使用lock會比較保險一點
歡迎光臨 伊莉討論區 (http://a04.eyny.com/)
Powered by Discuz!