C 往執行緒裡傳遞引數的方法小結

2022-10-08 10:21:11 字數 1856 閱讀 2702

傳參方式有兩種:

1、建立帶參構造方法類 傳參

2、利用thread.start(8)直接傳參,該方法會接收乙個物件,並將該物件傳遞給執行緒,因此**程中啟動的方法

必須接收object型別的單個引數。

thread (parameterizedthreadstart) 初始化 thread 類的新例項,指定允許物件**程啟動時傳遞給執行緒的委託。

thread (threadstart) 初始化 thread 類的新例項。

由 .net compact framework 支援。

thread (parameterizeuupwympfdthreadstart, int32) 初始化 thread 類的新例項,指定允許物件**程啟動時傳遞給執行緒的委託,並指定執行緒的最大堆疊大小www.cppcns.com。

thread (threadstart, int32) 初始化 thread 類的新例項,指定執行緒的最大堆疊大小。

由 .net compact framework 支援。

我們如果定義不帶引數的執行緒,可以用threadstart,帶乙個引數的用parameterizedthreadstart。帶多個引數的用另外的方法,下面逐一講述。

一、不帶引數的

using system;

using system.collections.generic;

using system.text;

using system.threading;

namespace aaaaaa

private static void a() }

}結果顯示method a!

二、帶乙個引數的

由於parameterizedthreadstart要求引數型別必須為object,所以定義的方法b形參型別必須為object。

using system;

using system.collections.generic;

using system.text;

using system.threading;

namespace aaaaaa

private static void b(object obj)

!",obj.tostring ());

} }

}結果顯示method b!

三、帶多個引數的

由於thread預設只提供了這兩種建構函式,如果需要傳遞多個引數,我們可以自己將引數作為類的屬性。定義類的物件時候例項化這個屬性,然後進行操作。

using system;

using system.collections.generic;

using system.text;

using system.threading;

namespace aaaaaa }

class my

,y=", this.x, this.y);

} }

}結果顯示x=2,y=3

四、利用結構體給引數傳值。

定義公用的public struct,裡面可以定義自己需要的引數,然後在需要新增執行緒的時候,可以定義結構體的例項。

//結構體

struct rowcol

; //定義方法

public void outp程式設計客棧ut(object rc)

", _char);

console.write("\n");

} }以上所述是小編給大家介紹的c#往執行緒裡傳遞引數的方法小結,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們**的支援

本文標題: c#往執行緒裡傳遞引數的方法小結

本文位址:

C WinForm 往執行緒裡傳引數的方法總結

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 usingsystem usingsystem.collections.generic usingsystem.text usingsystem.threading namespa...

c 執行緒方法傳遞引數

lamada表示式是向執行緒傳入引數的最方便 最強大的方法。先弄乙個方法 void domore1 string name,string age 呼叫的時候 thread t5 new thread domore1 more 1 232 t5.isbackground true t5.start 好...

C 多執行緒引數傳遞

在多執行緒或單執行緒任務中,讓執行緒帶傳入引數一直是個麻煩的問題,通常有種方法就是以類,對像的變數來傳引數,這種方法理解上很簡單不過在某些場合使用很麻煩,這裡就不介紹了,我們主要介紹一種.net2.0中新增加的帶引數執行執行緒的方法,示例程式如下 parameterizedthreadstart p...