在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类提供了更强大和灵活的多线程编程功能。