一、無參數線程的建立
Thread thread = new Thread(new ThreadStart(ShowMessage));
thread.Start();
private void ShowMessage()
{
Console.WriteLine("hello world");
}
二、帶一個參數的線程
使用ParameterizedThreadStart,調用 System.Threading.Thread.Start(System.Object) 重載方法時將包含數據的對象傳遞給線程。
注意傳遞的參數只能是object類型,不過能夠進行強制類型轉換。
Thread thread = new Thread(new ParameterizedThreadStart(ShowMessage));
string o = "hello";
thread.Start((object)o);
private static void ShowMessage(object message)
{
string temp = (string)message;
Console.WriteLine(message);
}
三、帶兩個及以上參數的線程
這時候能夠將線程執行的方法和參數都封裝到一個類裏邊,經過實例化該類,方法就能夠調用屬性來盡享傳遞參數。
例如以下程序,想傳入兩個string變量,而後打印輸出。
public class ThreadTest
{
private string str1;
private string str2;
public ThreadTest(string a, string b)
{
str1 = a;
str2 = b;
}
public void ThreadProc()
{
Console.WriteLine(str1 + str2);
}
}
public class Example
{
public static void Main()
{
ThreadTest tt = new ThreadTest("hello ", "world");
Thread thread = new Thread(new ThreadStart(tt.ThreadProc));
thread.Start();
}
}