温馨提示×

C#中thread怎么传递参数

c#
小亿
349
2024-01-12 01:54:08
栏目: 编程语言

在C#中,可以使用Thread类的ParameterizedThreadStart委托来传递参数给线程。以下是示例代码:

using System;
using System.Threading;

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

        Console.WriteLine("主线程");

        Console.ReadLine();
    }

    static void WorkThread(object data)
    {
        string message = (string)data;
        Console.WriteLine("工作线程收到参数:{0}", message);
    }
}

在上述代码中,我们创建了一个新的线程,并通过ParameterizedThreadStart委托将参数传递给线程。在工作线程中,我们将接收到的参数转换为所需的类型,并进行相应的操作。

请注意,在C# 4.0以后,还可以使用Lambda表达式来传递参数给线程,例如:

Thread thread = new Thread(() =>
{
    string message = "Hello, World!";
    Console.WriteLine("工作线程收到参数:{0}", message);
});
thread.Start();

使用Lambda表达式可以更简洁地传递参数给线程。

0