在C#中實現多線程編程的方法主要有兩種:使用Thread類和使用Task類。以下是使用Thread類實現多線程編程的示例代碼:
using System;
using System.Threading;
class Program
{
static void Main()
{
// 創建一個新線程并指定要執行的方法
Thread thread = new Thread(new ThreadStart(DoWork));
// 啟動線程
thread.Start();
// 主線程繼續執行其他代碼
for (int i = 0; i < 10; i++)
{
Console.WriteLine("Main thread running...");
Thread.Sleep(1000);
}
// 等待子線程結束
thread.Join();
}
static void DoWork()
{
for (int i = 0; i < 5; i++)
{
Console.WriteLine("Worker thread running...");
Thread.Sleep(2000);
}
}
}
使用Task類實現多線程編程的示例代碼如下:
using System;
using System.Threading.Tasks;
class Program
{
static void Main()
{
// 創建一個Task并指定要執行的方法
Task task = Task.Run(() =>
{
for (int i = 0; i < 5; i++)
{
Console.WriteLine("Task running...");
Task.Delay(2000).Wait();
}
});
// 主線程繼續執行其他代碼
for (int i = 0; i < 10; i++)
{
Console.WriteLine("Main thread running...");
Task.Delay(1000).Wait();
}
// 等待Task結束
task.Wait();
}
}
無論是使用Thread類還是Task類,都可以實現多線程編程。建議在新項目中使用Task類,因為Task類提供了更強大和靈活的多線程編程功能。