【发布时间】:2016-08-09 13:41:35
【问题描述】:
每当我读到async-await 时,用例示例总是其中有一个您不想冻结的 UI。要么所有编程书籍/教程都相同,要么 UI 阻塞是 async-await 作为开发人员应该知道的唯一情况。
是否有任何示例说明如何使用async-await 在算法中获得性能优势?就像让我们回答任何经典的编程面试问题:
- 在二叉树中找到最近的共同祖先
- 给定
a[0]、a[1]、...、a[n-1]代表以 10 为基数的数字,找出使用相同数字的下一个最大数字 - 求两个已排序数组的中位数(即合并它们时的中位数)
- 给定一组数字
1、2、...、n,其中一个数字缺失,找出缺失的数字 - 找出数组中最大的 2 个数字
有什么方法可以让那些使用async-await 的人获得性能优势?如果是这样,如果您只有 1 个处理器怎么办?那么你的机器不是只是在任务之间分配时间,而不是真正同时执行它们吗?
【问题讨论】:
标签: c# .net performance asynchronous async-await