作者void0 (______)
看板C_Sharp
標題[問題] 執行序排程控制的寫法..
時間Sun Apr 2 18:14:01 2017
小弟我不常寫用到多Thread的程式
只會用.Net3.5 ThreadPool,AutoResetEvent,WaitHandle去處理一些
同時執行多條Thread 等待所有執行完之後繼續跑程式之類的基本應用
但有一個應用想不到該如何寫
舉例來說就像是ftp軟體10個檔同時上傳
設定一次同時只能上傳5個檔, 撒下去的10個檔就在那排隊
五個處理序有一個做完了, 馬上接著下一個開始處理這樣
我常用的方式只能一次五個一起上傳,但也要五個都結束才會續跑
簡單來說就是排程控制的概念
有高手可以提示一下方向嗎
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.230.209.7
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1491128043.A.3D2.html
→ ssccg: 開有5個thread的pool然後把10個工作都排進去就可以了 04/02 18:23
推 Litfal: Semaphore 04/02 21:48
感謝..
我用threadpool.setmaxthreads 但沒用
改Semaphore就可以了. 但Semaphore沒辦法用在ThreadPool.QueueUserWorkItem?
※ 編輯: void0 (36.230.209.7), 04/03/2017 10:07:28
→ Litfal: 如果有升上NF4.0的打算,可以試TaskFactory和TaskScheduler 04/04 17:41