執行緒操作主要用到thread類,他是定義在system.threading.dll下。使用時需要新增這乙個引用。該類提供給我們四個過載的建構函式(以下引自msdn)。
thread (threadstart) 初始化 thread 類的新例項。
由 .net compact framework 支援。
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) //注意型別是object
!",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 output(object rc)
", _char);
console.write("/n"); }
}再補充乙個方法 使用委託:
public void run(string name,string id)
public void sommethod()
) );
thread.start(); }
給執行緒傳遞引數
執行緒操作主要用到thread類,他是定義在system.threading.dll下。使用時需要新增這乙個引用。該類提供給我們四個過載的建構函式 以下引自msdn 我們如果定義不帶引數的執行緒,可以用threadstart 帶乙個引數的用parameterizedthreadstart。帶多個引數...
多執行緒 引數傳遞
4,unique ptr作為引數傳遞,必須使用move函式 5,函式的指標作為引數傳遞 引用傳遞,指標傳遞的注意事項 因為執行緒2裡使用的是執行緒1的變數a,所以如果執行緒1比執行緒2提前結束了,結束的同時就會釋放變數a的記憶體空間,可是這時執行緒2還沒結束,再去訪問執行緒1中的變數a的話,就會發生...
執行緒的引數傳遞
執行緒大家都聽說過,也或多或少的看到過或使用過。但對於執行緒中的引數傳遞可能會比較陌生,今天我在這就跟大家分享下執行緒的傳遞方法。在分享執行緒的引數傳遞方法之前我們先來看看不帶參的執行緒 using system.threading 在使用執行緒前別忘記了加上命名空間 public class th...