C#中线创建线程调用线程函数有2种方式:
1,调用不带参数的线程函数
2,调用带参数的线程函数
在不传递参数情况下,一般大家都使用ThreadStart代理来连接执行函数。执行函数声明格式如下:
public static void ThreadProc();
如果希望传递参数给执行函数,则使用ParameterizedThreadStart代理来链接执行函数,这时执行函数要声明成下面的形式
public static void ThreadProc(object nParam);
其中object nParam就是要传递的参数,之所以使用object类型,那是因为nParam可以是任何class类型,这样你就可传递任何类型给执行函数,实参是通过Thread.Start(object)方法传递给ExeProc函数的。
using System;
using System.Threading;
public class ThreadTest
{
public static void Main()
{
Thread newThread1 = new Thread(new ParameterizedThreadStart(ThreadProc1));
newThread.Start(42);
Thread newThread2 = new Thread(new ThreadStart(ThreadProc2));
newThread2.Start();
}
public static void ThreadProc1(object data)
{
Console.WriteLine("Static thread procedure. Data='{0}'",data);
}
public static void ThreadProc2()
{
Console.WriteLine("Static thread procedure. no param");
}
}