在C#中,可以使用QueueUserWorkItem方法來將方法或委托添加到線程池隊列中進行異步執行。下面是使用QueueUserWorkItem方法的示例代碼:
using System;
using System.Threading;
class Program
{
static void Main(string[] args)
{
// 將方法添加到線程池隊列中異步執行
ThreadPool.QueueUserWorkItem(DoWork, "Hello, World!");
// 主線程繼續執行其他操作
for (int i = 0; i < 5; i++)
{
Console.WriteLine("Main thread doing other work.");
Thread.Sleep(1000);
}
Console.ReadLine();
}
static void DoWork(object state)
{
// 從參數中獲取要執行的工作
string message = (string)state;
// 執行工作
Console.WriteLine("Doing work: " + message);
Thread.Sleep(3000);
Console.WriteLine("Work completed: " + message);
}
}
在上面的示例中,我們使用QueueUserWorkItem方法將DoWork方法添加到線程池隊列中異步執行。然后,主線程繼續執行其他操作。DoWork方法會在后臺線程中執行,并輸出一些消息。最后,主線程等待用戶按下Enter鍵以結束程序。
請注意,盡管QueueUserWorkItem方法非常方便,但在新的代碼中更推薦使用Task類或async/await模式來進行異步編程。