C#中thread怎么传递参数

c#
1162
2023/12/20 1:54:08
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在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表达式可以更简洁地传递参数给线程。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: C#中XML操作类怎么使用