温馨提示×

C# thread怎么传递参数

c#
小亿
89
2024-01-16 23:22:50
栏目: 编程语言

在C#中,可以使用ParameterizedThreadStart委托来传递参数给线程。以下是一个示例:

using System;
using System.Threading;

class Program
{
    static void Main()
    {
        // 创建一个新的线程,并传递参数
        Thread thread = new Thread(new ParameterizedThreadStart(WorkerThread));
        thread.Start("Hello, World!");

        Console.WriteLine("主线程结束。");
    }

    static void WorkerThread(object data)
    {
        // 从参数中获取数据
        string message = (string)data;

        // 执行线程的工作
        Console.WriteLine("子线程开始执行,传递的参数为:" + message);

        // 模拟一些工作
        Thread.Sleep(2000);

        Console.WriteLine("子线程结束。");
    }
}

在上面的示例中,我们创建了一个新的线程,并使用ParameterizedThreadStart委托将WorkerThread方法与线程关联起来。WorkerThread方法在执行时接收一个object类型的参数,然后我们通过将参数转换为适当的类型来使用该数据。

注意:使用ParameterizedThreadStart委托传递的参数类型必须是object类型,因此在使用它们之前,可能需要进行适当的类型转换。

0