.net多线程应用实例
时间: 2024-06-15 10:02:32 浏览: 92
.NET多线程实例
3星 · 编辑精心推荐
.Net(.NET Framework)是一个跨平台的软件框架,支持多线程应用,使得在编写并发程序时能够更有效地利用系统资源。以下是一个简单的.NET多线程应用实例,使用C#的Task和Thread类:
```csharp
using System;
using System.Threading.Tasks;
public class Worker
{
private static string data = "Hello, this is a message.";
public void PrintData()
{
Console.WriteLine($"Worker: {data}");
}
}
class Program
{
static void Main(string[] args)
{
// 创建一个新的任务
Task.Run(() => new Worker().PrintData());
// 同时创建并启动一个新的线程
Thread thread = new Thread(new ThreadStart(() => new Worker().PrintData()));
thread.Start();
// 主线程继续执行
Console.WriteLine("Main thread is waiting...");
// 等待所有任务和线程完成
Task.WaitAll(); // 或者thread.Join() for thread
Console.WriteLine("All tasks and threads have completed.");
}
}
```
在这个例子中,我们创建了一个名为`Worker`的类,它有一个`PrintData`方法。在`Main`方法中,我们首先使用`Task.Run`异步创建了一个新的任务,让它在后台线程上执行。接着,我们创建了一个新的线程,并启动它也去执行`PrintData`。
`Task.WaitAll`确保主线程等待所有任务(包括之前创建的任务和新线程中的任务)完成后继续执行。这样,我们实现了两个线程同时处理数据的场景。
阅读全文