在之前我寫過一篇關於用 Task 類別來撰寫非同步化作業(使用 Task 自行控制非同步任務作業),來利用多CPU、多核心處理器的優勢,這樣可以避免某些邏輯需要較長的時間去執行,而造成主界面程式停頓卡卡,讓使用者誤以為當機、或程式有問題,所以透過.Net 的 Task 任務,可以讓系統自行的調度限制可以用的執行緒(Thread)。
既然有了 Task 任務類別的支援,可以讓我們輕易的撰寫多工、非同步作業的程式,讓長時間執行的程式透過另外一個執行緒(Thread)在背後執行,例如我常幫工廠或企業寫物料需求計算(MRP、MPS計算)、業績獎金計算、APS先進排程規劃,這些都是需要執行讀取大量的系統資料來進行運算,這就可以充分利用 Thrad、Task的技術再背後另外一個執行緒去執行,使用者,在前端主畫面還可以繼續執行其他作業,而不用只能等待程式執行完畢。
不過我們也常常遇到常時間執行的程式,我們可以提供一個按鈕讓使用者去選擇【取消】背後執行的任務,那麼這篇技術文章我就是想講解,如何在.Net...