如何在C#中实现一个简单的多线程程序?
在C#中可以使用`Thread`类来创建和管理线程,实现一个简单的多线程程序的代码如下:
```csharp
using System;
using System.Threading;
class Program
{
static void Main()
{
// 创建第一个线程
Thread thread1 = new Thread(Task1);
// 创建第二个线程
Thread thread2 = new Thread(Task2);
// 启动线程
thread1.Start();
thread2.Start();
// 等待线程完成
thread1.Join();
thread2.Join();
Console.WriteLine("所有线程已完成执行。");
}
// 第一个线程执行的方法
static void Task1()
{
for (int i = 0; i < 5; i++)
{
Console.WriteLine($"Task1: {i}");
Thread.Sleep(500); // 模拟工作,通过暂停500毫秒演示
}
}
// 第二个线程执行的方法
static void Task2()
{
for (int i = 0; i < 5; i++)
{
Console.WriteLine($"Task2: {i}");
Thread.Sleep(500); // 模拟工作,通过暂停500毫秒演示
}
}
}
```
在这个例子中:
1. 我们创建了两个线程`thread1`和`thread2`,分别执行`Task1`和`Task2`方法。
2. 使用`Start`方法启动线程。
3. 使用`Join`方法确保主线程等待所有子线程完成后再退出。
运行程序时,`Task1`和`Task2`会在两个不同的线程中并发执行,控制台中会交替打印出两者的输出。
```csharp
using System;
using System.Threading;
class Program
{
static void Main()
{
// 创建第一个线程
Thread thread1 = new Thread(Task1);
// 创建第二个线程
Thread thread2 = new Thread(Task2);
// 启动线程
thread1.Start();
thread2.Start();
// 等待线程完成
thread1.Join();
thread2.Join();
Console.WriteLine("所有线程已完成执行。");
}
// 第一个线程执行的方法
static void Task1()
{
for (int i = 0; i < 5; i++)
{
Console.WriteLine($"Task1: {i}");
Thread.Sleep(500); // 模拟工作,通过暂停500毫秒演示
}
}
// 第二个线程执行的方法
static void Task2()
{
for (int i = 0; i < 5; i++)
{
Console.WriteLine($"Task2: {i}");
Thread.Sleep(500); // 模拟工作,通过暂停500毫秒演示
}
}
}
```
在这个例子中:
1. 我们创建了两个线程`thread1`和`thread2`,分别执行`Task1`和`Task2`方法。
2. 使用`Start`方法启动线程。
3. 使用`Join`方法确保主线程等待所有子线程完成后再退出。
运行程序时,`Task1`和`Task2`会在两个不同的线程中并发执行,控制台中会交替打印出两者的输出。
若文章对您有帮助,帮忙点个赞!
(微信扫码即可登录,无需注册)