在C#中,ParameterizedThreadStart委托用于創(chuàng)建可以接受一個(gè)對象參數(shù)的線程方法。下面是使用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!");
// 等待工作線程執(zhí)行完畢
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);
}
}
在上面的示例中,我們創(chuàng)建了一個(gè)新的線程,并將WorkerMethod方法作為線程的入口點(diǎn)。由于WorkerMethod方法接受一個(gè)對象參數(shù),我們使用ParameterizedThreadStart委托來創(chuàng)建線程。
在Main方法中,我們創(chuàng)建了一個(gè)新的線程并啟動(dòng)它。我們通過調(diào)用thread.Start(“Hello from worker thread!”)來傳遞一個(gè)字符串參數(shù)給WorkerMethod方法。
WorkerMethod方法在工作線程中執(zhí)行,并接收傳遞的參數(shù)。在這個(gè)例子中,我們將傳遞的參數(shù)強(qiáng)制轉(zhuǎn)換為字符串,并在控制臺(tái)上打印出來。
最后,我們使用thread.Join()方法等待工作線程執(zhí)行完畢,并在主線程中打印一條消息。
希望這個(gè)示例能幫助你了解如何使用ParameterizedThreadStart委托在C#中創(chuàng)建帶參數(shù)的線程方法。