溫馨提示×

C#中的ParameterizedThreadStart怎么用

c#
小億
148
2023-11-16 12:38:41
欄目: 編程語言

在C#中,ParameterizedThreadStart委托用于創(chuàng)建可以接受一個(gè)對象參數(shù)的線程方法。下面是使用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!");
        
        // 等待工作線程執(zhí)行完畢
        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);
    }
}

在上面的示例中,我們創(chuàng)建了一個(gè)新的線程,并將WorkerMethod方法作為線程的入口點(diǎn)。由于WorkerMethod方法接受一個(gè)對象參數(shù),我們使用ParameterizedThreadStart委托來創(chuàng)建線程。

在Main方法中,我們創(chuàng)建了一個(gè)新的線程并啟動(dòng)它。我們通過調(diào)用thread.Start(“Hello from worker thread!”)來傳遞一個(gè)字符串參數(shù)給WorkerMethod方法。

WorkerMethod方法在工作線程中執(zhí)行,并接收傳遞的參數(shù)。在這個(gè)例子中,我們將傳遞的參數(shù)強(qiáng)制轉(zhuǎn)換為字符串,并在控制臺(tái)上打印出來。

最后,我們使用thread.Join()方法等待工作線程執(zhí)行完畢,并在主線程中打印一條消息。

希望這個(gè)示例能幫助你了解如何使用ParameterizedThreadStart委托在C#中創(chuàng)建帶參數(shù)的線程方法。

0