在C#中,創建線程有兩種主要方法:使用Thread類和使用Task類。這里我將向您展示如何使用這兩種方法創建線程。
方法1:使用Thread類
using System;
using System.Threading;
class Program
{
static void Main()
{
// 創建一個新的Thread實例,指定要執行的函數
Thread newThread = new Thread(new ThreadStart(MyThreadFunction));
// 開始執行新線程
newThread.Start();
// 在主線程中執行其他操作
for (int i = 0; i < 5; i++)
{
Console.WriteLine("主線程: " + i);
Thread.Sleep(1000);
}
// 等待新線程執行完成
newThread.Join();
}
static void MyThreadFunction()
{
// 在線程中執行的代碼
for (int i = 0; i < 5; i++)
{
Console.WriteLine("新線程: " + i);
Thread.Sleep(1000);
}
}
}
方法2:使用Task類(推薦)
Task類是基于線程池的,提供了更簡潔的API和更豐富的功能。以下是使用Task類創建線程的示例:
using System;
using System.Threading.Tasks;
class Program
{
static void Main()
{
// 使用Task.Run創建一個新任務,指定要執行的函數
Task newTask = Task.Run(MyThreadFunction);
// 在主線程中執行其他操作
for (int i = 0; i < 5; i++)
{
Console.WriteLine("主線程: " + i);
Thread.Sleep(1000);
}
// 等待新任務執行完成
newTask.Wait();
}
static void MyThreadFunction()
{
// 在線程中執行的代碼
for (int i = 0; i < 5; i++)
{
Console.WriteLine("新線程: " + i);
Thread.Sleep(1000);
}
}
}
這兩種方法都可以創建線程,但Task類更推薦使用,因為它提供了更好的性能和更豐富的功能。