程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#多線程的參數傳遞

C#多線程的參數傳遞

編輯:C#入門知識

用C#創建線程是一件很方便的事,一個Void類型的函數,一句聲明就可以創建出自己的線程應用。看下面的例子:

 

\\簡單線程創建
public class ThreadController
{
public ThreadController()
{
System.Threading.Thread thread = new System.Threading.Thread(ThreadMethod);
thread.Start();
}

private void ThreadMethod()
{
//Do something
}
}

 

不過從上面的例子可以看到一個問題,就是ThreadMethod方法是不能傳入參數的。要解決這個問題,需要用到ParameterizedThreadStart。看這個例子:

 

\\參數線程
public class ThreadController
{
public ThreadController()
{
int value = 10;
System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(ThreadMethod));
thread.Start(value);
}

private void ThreadMethod(object parameter)
{
Console.WriteLine(parameter.ToString());
}
}

 

 

這樣線程的響應函數就可以接收參數了。這裡還有一個要注意的問題,就是作為參數傳遞進來的parameter,雖然在參數描述上沒有加Ref,但實際上是傳地址的引用。所以如果在ThreadMethod中對parameter進行修改。ThreadController中的value值也會被修改。

    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved