用C#写多个线程同时运行
时间: 2024-10-05 21:03:06 浏览: 20
在C#中,你可以通过`System.Threading`命名空间下的Thread类来创建并管理多个线程。以下是创建和启动线程的基本步骤:
1. 创建Thread对象:首先,你需要创建一个Thread对象,传递一个Runnable(或Callable,如果你需要返回结果)作为构造函数的参数。例如:
```csharp
Thread thread1 = new Thread(() => YourFunctionToRun());
Thread thread2 = new Thread(() => AnotherFunctionToRun());
```
2. 启动线程:然后,调用`Start()`方法来开始线程执行。
```csharp
thread1.Start();
thread2.Start();
```
3. 线程同步:为了避免并发问题,如数据竞争或死锁,你可能需要使用`Monitor`, `Mutex`, `Semaphore`等同步机制,或者使用C#的`lock`关键字来保护共享资源。
4. 等待线程完成(可选):如果你想等待一个线程结束后再继续,可以使用`Join()`方法。
```csharp
thread1.Join(); // 主线程会阻塞直到thread1结束
```