C#建立帶參數的線程

一、無參數線程的建立
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();
    }
}
相關文章
相關標籤/搜索