上次編寫了一個小軟體,用於練手及自己的一個小工具集合。今天把其中的執行緒池和管理器的程式碼抽取出來,寫成一個博文,讓需要的朋友能夠進行學習和應用。
這個執行緒管理器包括了3個類庫和一個應用程式,見下圖:
第一個是表單磁吸螢幕的類庫,以前有過一個VB編的類庫(磁性表單原始碼開源 - 開源研究系列文章),這次把C#編寫的類庫放出來,以後有介紹。第二個為執行緒池定義及管理器的類庫,下面有介紹。第三個為主應用程式,下面有介紹。第四個為需要執行的所有執行緒的列表定義,以後所有需要執行的執行緒都在這個類庫定義,直接替換該DLL檔案即可,下面有介紹。
一、執行緒池程式碼;
這個類庫就是執行緒池定義及管理的程式碼。見下圖:
主要是定義了執行緒池的操作方法,以及提供了一個執行緒管理器表單。裡面的程式碼大家瀏覽一下即可,使用的是執行緒操作的程式碼,包括執行緒的新增、啟動、停止等等。
二、執行緒管理器;
類庫裡面帶有一個執行緒管理器表單,用於執行緒的基本操作。直接在主程式裡進行初始化及呼叫即可。
三、執行緒定義列表;
裡面的ThreadArrayList裡面定義了所有需要執行的執行緒,這裡進行下介紹。
1)執行緒執行函數定義;
首先,需要定義執行緒執行的函數:
需要宣告執行緒testThread1,裡面的執行緒計算的函數TestFunction1,以及執行緒執行的函數TestThreadFunction1。也可以直接將計算函數放到執行函數裡,節省程式碼及執行函數。
2、執行緒列表定義;
定義了執行緒函數,這裡就需要初始化執行緒列表,以便於在主程式裡進行執行緒管理及新增。
這裡強調一下,因為.NET Framework裡的執行緒定義,必須將執行緒設定為前臺,即threadModule.ThreadInstance.IsBackground = false; 否則線上程管理器表單中顯示不了執行緒的狀態。
四、主程式呼叫;
主程式,包括了唯一判斷函數,表單函數,應用程式函數等,具體請讀者自己去看程式碼。見下圖:
上面介紹了C#開發的執行緒池定義及管理器的程式碼,希望通過此博文,達到參照的效果,對需要的讀者能夠起到幫助及在其它地方能夠使用到。後續會對其它的一些程式碼進行介紹,敬請期待。
這裡提供程式碼下載:
https://download.csdn.net/download/lzhdim/87357279
Etc.今天是2023年的元旦,在這個時刻,祝願祖國繁榮昌盛,國泰民安。
Austin Liu 劉恆輝
Lzhdim Group's Chairman,Project Manager and Software Designer E-Mail:[email protected] Blog: https://lzhdim.cnblogs.com 歡迎收藏和轉載此部落格中的博文,但是請註明出處,給作者一個與大家交流的空間。謝謝大家。 |