小屋創作

日誌2021-04-06 17:36

C# ParameterizedThreadStart 帶參數執行緒用法

作者:貓貓風 ฅ●ω●ฅ

.


















ParameterizedThreadStart  是一個委派用來執行靜態方法和實例方法

參數都使用單一型別 object ,因此可以帶入的參數型別沒有限制,可以任意轉換

當然也可以帶入自定義型別

ParameterizedThreadStart 委派會在線上程上調用

並從委派所代表之方法的第一行開始執行。

在委派的情況下 ParameterizedThreadStart 傳遞至方法的物件 Start(Object) 會傳遞至委派。

以下為實際使用範例

主要將自定義型別的物件資料帶入執行緒

此範例主要演示 可以定義任何型態的資料傳入執行緒中

class main

ParameterizedThreadStart _st_sort_obj;  //建立可帶參數的thread委派
Thread _st_sort;   //宣告執行緒
public void execution_sort(Sorting_management SMT)
{   
         _st_sort_obj = new ParameterizedThreadStart(running_sort);    
         _st_sort = new  Thread(_st_sort_obj);    
         _st_sort.Start(SMT); //開啟執行緒 帶入參數 SMT
}
//此函式的 obj 為剛剛帶入資料型別為Sorting_management的資料
private void running_sort(object obj)
{  
         ((Sorting_management)obj).para1 = 100; //將帶入的參數設為100  
         //將字串型別的參數2  
         String rev_data = ((Sorting_management)obj).para2;
}

class Sorting_management

public class Sorting_management
{   
         int para1 = 0; //整數型別的成員    
         String para2 = "";//字串型別的成員
}

15

1

LINE 分享

相關創作

C# MongoDB Atlas 雲端資料庫建置與教學

碧藍航線 自動戰鬥腳本 v2.2.8 碧海光粼

碧藍航線 自動戰鬥腳本 v2.2.1 破曉冰華

留言

開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】