C#開發的執行緒池和管理器

2023-01-01 21:06:37

       上次編寫了一個小軟體,用於練手及自己的一個小工具集合。今天把其中的執行緒池和管理器的程式碼抽取出來,寫成一個博文,讓需要的朋友能夠進行學習和應用。

       這個執行緒管理器包括了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年的元旦,在這個時刻,祝願祖國繁榮昌盛,國泰民安。