在C#中,可以使用ParameterizedThreadStart委托来创建含参线程。ParameterizedThreadStart委托表示一个方法,该方法接受一个object类型的参数,并且没有返回值。

下面是一个示例代码,演示如何创建含参线程:

using System;
using System.Threading;

class Program
{
    static void Main()
    {
        // 创建一个线程,并指定传递参数的方法
        Thread thread = new Thread(new ParameterizedThreadStart(DoWork));

        // 启动线程,并传递参数
        thread.Start("Hello, World!");

        Console.WriteLine("主线程执行其他操作...");

        // 等待线程执行完毕
        thread.Join();

        Console.WriteLine("主线程执行完毕。");
    }

    static void DoWork(object parameter)
    {
        // 从参数中获取传递的值
        string message = (string)parameter;

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

        // 执行一些耗时的操作
        Thread.Sleep(2000);

        Console.WriteLine("子线程执行完毕。");
    }
}

在上面的示例中,首先创建了一个线程,并使用ParameterizedThreadStart委托将参数传递给DoWork方法。然后启动线程,并在主线程中执行其他操作。最后,使用Join方法等待线程执行完毕,并输出相应的信息。

运行上面的代码,可以看到输出的顺序是先执行主线程的操作,然后执行子线程的操作,最后主线程执行完毕。

注意:在使用ParameterizedThreadStart委托传递参数时,需要进行类型转换,因为参数是以object类型传递的。在实际应用中,可以根据需要自定义传递的参数类型

C#创建含参线程

原文地址: https://www.cveoy.top/t/topic/iClT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录