.
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 = "";//字串型別的成員