在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类更推荐使用,因为它提供了更好的性能和更丰富的功能。