using System;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
// 创建一个Task,它将在后台线程上执行一些工作
Task<int> task = Task.Run(() =>
{
// 模拟一些耗时的工作
Console.WriteLine("Task is running...");
System.Threading.Thread.Sleep(2000); // 模拟耗时操作
return 42; // 返回结果
});
Console.WriteLine("Main method continues to execute...");
// 等待Task完成并获取其结果
int result = await task;
Console.WriteLine($"Task completed with result: {result}");
}
}
Task.Run: 这是一个用于启动新任务的方法。在这个例子中,它启动了一个后台线程来执行一段代码,这段代码会模拟一些耗时的操作(如网络请求、文件读写等)。
await关键字: await用于等待一个异步操作完成,而不阻塞主线程。在这个例子中,我们使用await来等待task完成,并获取它的返回值。
async Task Main: 在C# 7.1及更高版本中,Main方法可以被标记为async,这意味着可以在其中使用await关键字。这使得编写异步程序变得更加方便。
Thread.Sleep: 这里只是为了模拟耗时操作。在实际应用中,你可能会在这里放置真正的耗时操作,比如网络请求或数据库查询。
Console.WriteLine: 用于输出信息到控制台,帮助我们理解程序的执行流程。
这个示例展示了如何使用C#中的Task和await来实现异步编程,从而提高应用程序的响应性和性能。
上一篇:c# unsafe
下一篇:c# 单例
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站