在C#中,ParameterizedThreadStart委托用于创建可以接受一个对象参数的线程方法。下面是使用ParameterizedThreadStart委托的基本示例:
using System;
using System.Threading;
class Program
{
static void Main(string[] args)
{
Thread thread = new Thread(new ParameterizedThreadStart(WorkerMethod));
thread.Start("Hello from worker thread!");
// 等待工作线程执行完毕
thread.Join();
Console.WriteLine("Main thread exiting.");
Console.ReadLine();
}
static void WorkerMethod(object message)
{
string msg = (string)message;
Console.WriteLine("Worker thread received message: " + msg);
}
}
在上面的示例中,我们创建了一个新的线程,并将WorkerMethod方法作为线程的入口点。由于WorkerMethod方法接受一个对象参数,我们使用ParameterizedThreadStart委托来创建线程。
在Main方法中,我们创建了一个新的线程并启动它。我们通过调用thread.Start(“Hello from worker thread!”)来传递一个字符串参数给WorkerMethod方法。
WorkerMethod方法在工作线程中执行,并接收传递的参数。在这个例子中,我们将传递的参数强制转换为字符串,并在控制台上打印出来。
最后,我们使用thread.Join()方法等待工作线程执行完毕,并在主线程中打印一条消息。
希望这个示例能帮助你了解如何使用ParameterizedThreadStart委托在C#中创建带参数的线程方法。