本文探讨了C#中的异步编程,重点介绍了async
和await
>关键字。 这些关键字大大简化了异步代码,使其更可读和可维护。 本文对比同步,并发,并行和异步执行,阐明了区分。
密钥概念:
async
和await
> Task
>和Task<t></t>
,是.NET中异步操作的推荐模式,为async
和await
构成了基础。 >。async
或await
ConfigureAwait(false)
异常处理:.Result
.Wait()
>通过直接抛出异常来简化错误处理,与await
>重构遗产代码:.Result
从同步到异步代码迁移涉及修改方法签名以返回.Wait()
>或AggregateException
>,用Task
Task<t></t>
await
>文章区分了这三个概念,通常可以互换,但具有不同的含义:>同步:操作顺序执行,阻止程序直至完成。
并发:
多个任务似乎同时执行,通常使用单独的线程,但不一定同时执行。BeginOperationName
方法的遗留模式。
基于事件的异步模式(EAP):EndOperationName
>OperationNameAsync
OperationNameCompleted
OperationNameAsync
Task
Task<t></t>
和和Task
是点击的基础,代表异步操作,并提供了管理连续性,等待完成和处理取消的方法。Task<t></t>
>
和Task
:Task<t></t>
>
>和的角色:async
>
await
:async
>将方法标记为异步,从而可以使用await
>。
async
>完成而不会阻止线程。>
await
await
>本文使用Task
和Task<t></t>
>进行了重构同步代码,以突出显示更新方法签名的重要性,并用僵局和:
>本文讨论了使用async
>和await
时的潜在僵局,并引入await
>作为解决方案,以通过允许连续性在没有特定上下文的情况下进行连续运行。
在异步代码中
异常处理:ConfigureAwait(false)
文章强调了用进行改进的异常处理,这直接引发了真实的异常,这与通过阻止等待的抛弃不同。
进一步读取:async
await
>本文结束了与C#中的异步编程的进一步资源的链接。ConfigureAwait(false)
ync/等待常见问题:
await
>简洁的常见问题解答部分解决了有关
以上是在C#中使用异步/等待的异步编程的详细内容。更多信息请关注PHP中文网其他相关文章!