温馨提示×

C#中的ParameterizedThreadStart怎么用

c#
小亿
151
2023-11-16 12:38:41
栏目: 编程语言

在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#中创建带参数的线程方法。

0