c#异步执行
时间: 2023-07-27 13:22:33 浏览: 72
在 C# 中,异步执行可以通过使用 async 和 await 关键字来实现。async 关键字用于标记方法为异步方法,而 await 关键字用于等待异步操作完成。
下面是一个示例代码,演示了如何使用 async 和 await 实现异步执行:
```csharp
async Task DoSomethingAsync()
{
// 异步操作1
await Task.Delay(1000);
// 异步操作2
await Task.Run(() =>
{
// 执行一些耗时的操作
});
// 异步操作3
await SomeOtherAsyncMethod();
}
async Task SomeOtherAsyncMethod()
{
// 执行异步操作
}
```
在上面的代码中,DoSomethingAsync 方法是一个异步方法。它通过 await 关键字等待三个异步操作完成。第一个异步操作是使用 Task.Delay 方法模拟一个等待 1 秒的操作,第二个异步操作是使用 Task.Run 方法执行一些耗时的操作,第三个异步操作是调用 SomeOtherAsyncMethod 方法。
注意,异步方法必须返回 Task 或 Task<T> 类型,这表示异步操作的结果。在异步方法中,可以使用 await 关键字等待其他异步方法或任务完成。当异步方法中的第一个 await 关键字执行时,该方法将暂停执行,直到异步操作完成。然后,方法将从 await 关键字后的代码行继续执行。如果异步操作已经完成,await 关键字将立即返回,并且方法将继续执行。