剧集
Async 的六大基本使用技巧 - 简介
异步涉及一些新概念。 这些概念并不难,只是比较陌生。 在过去的一年里 ,卢西亚·威斯基克 一直在关注人们如何在 C# 和 VB 中使用异步/等待。 此系列将消除三种顶级异步模式和反模式,以及编写自己的异步库的前三个提示。
提示:
- 异步 void 仅适用于顶级事件处理程序和类似事件的事情。请勿在代码中的其他位置使用它。
- 区分 CPU 绑定工作(应在线程池上完成)与 IO 绑定的工作(不需要这样做)至关重要。
- 可以在任务返回的 API 中包装事件并等待它们。这可以极大地简化代码。
- 异步库方法不应撒谎:它们不应在机密中内部使用 Task.Run,并且仅在异步实现为异步时才公开异步签名
- 异步库方法应具有不聊天的区块异步 API。 但是,如果聊天是不可避免的,请了解这些微优化以减少堆分配开销。
- 异步库方法应考虑任务。ConfigureAwait(false)以减少其对 UI 消息队列的影响。
如果你了解异步方法中的基本控制流,那么这三个点自然就位了。 本第一个简介视频介绍了控制流。
卢西亚博客上提供了幻灯片和源代码。
异步涉及一些新概念。 这些概念并不难,只是比较陌生。 在过去的一年里 ,卢西亚·威斯基克 一直在关注人们如何在 C# 和 VB 中使用异步/等待。 此系列将消除三种顶级异步模式和反模式,以及编写自己的异步库的前三个提示。
提示:
- 异步 void 仅适用于顶级事件处理程序和类似事件的事情。请勿在代码中的其他位置使用它。
- 区分 CPU 绑定工作(应在线程池上完成)与 IO 绑定的工作(不需要这样做)至关重要。
- 可以在任务返回的 API 中包装事件并等待它们。这可以极大地简化代码。
- 异步库方法不应撒谎:它们不应在机密中内部使用 Task.Run,并且仅在异步实现为异步时才公开异步签名
- 异步库方法应具有不聊天的区块异步 API。 但是,如果聊天是不可避免的,请了解这些微优化以减少堆分配开销。
- 异步库方法应考虑任务。ConfigureAwait(false)以减少其对 UI 消息队列的影响。
如果你了解异步方法中的基本控制流,那么这三个点自然就位了。 本第一个简介视频介绍了控制流。
卢西亚博客上提供了幻灯片和源代码。
视频 URL
HTML iframe
想提供反馈? 在此处提交问题。