C#建立临时或永久线程
时间: 2024-09-26 19:18:37 浏览: 24
在C#中,有两种类型的线程:静态工作线程(Thread)和任务(Task)。这里分别介绍这两种创建线程的方式:
1. **静态工作线程(Thread)**:
- 创建并启动一个新线程:
```csharp
Thread thread = new Thread(() => {
Console.WriteLine("Worker thread is running.");
// 线程体
});
thread.Start(); // 启动线程
```
- 使用`BackgroundWorker`类(用于长期任务,不会阻塞UI线程):
```csharp
BackgroundWorker worker = new BackgroundWorker();
worker.DoWork += (sender, e) => {
Console.WriteLine("Worker thread is running in background.");
};
worker.RunWorkerAsync();
```
2. **任务(Task)**:
- 创建一个并行任务(并发执行):
```csharp
Task task = Task.Run(() => {
Console.WriteLine("Parallel task is running.");
});
```
- 创建并等待完成的同步任务:
```csharp
Task task = Task.Factory.StartNew(() => {
Console.WriteLine("Synchronous task is running.");
});
task.Wait(); // 如果不想阻塞主线程,可以用await替代
```
3. **临时线程和永久线程的区别**:
- 临时线程(如`Thread`)通常是短时间的任务,它们的生命周期随着任务结束而终止。
- 永久线程(如`BackgroundWorker`或`Task`)更适用于需要持续运行的工作,它们可以在后台保持活动状态,直到被明确地停止。
阅读全文