using System;
using System.Threading;
using System.Threading.Tasks;
class Program
{
static void Main()
{
// 使用Thread
Thread thread = new Thread(() =>
{
Console.WriteLine("Thread is running.");
});
thread.Start();
// 使用Task
Task task = Task.Run(() =>
{
Console.WriteLine("Task is running.");
});
// 等待任务完成
task.Wait();
// 主线程继续执行
Console.WriteLine("Main thread continues.");
}
}
Thread:
Thread 是 .NET 中的一个类,用于表示操作系统级别的线程。Thread 对象,并传递了一个 lambda 表达式作为线程的执行体。然后调用 Start() 方法启动线程。Thread 的使用较为底层,提供了对线程的细粒度控制,但相对复杂。Task:
Task 是 .NET 中用于表示异步操作的类,它封装了更高级别的抽象。Task.Run() 方法来启动一个新任务,传递了一个 lambda 表达式作为任务的执行体。Task 提供了更简洁和高效的 API,适合大多数异步编程场景,并且支持任务的组合、取消等功能。区别:
Thread 更加底层,适合需要精细控制线程的情况。Task 是更高层次的抽象,更适合现代异步编程,提供了更好的性能和易用性。希望这段代码和解释能帮助你理解 C# 中 Thread 和 Task 的区别。
上一篇:c#5
下一篇:c# int转string
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站