0

我切换了我的 Xamarin.Android 应用程序以使用 async await 代替之前的 ThreadPool.QueueUserWorker 项目使用情况,它看起来更快,虽然没有指标!在这个新的 Xamarin Android 版本中显然可能还有其他优化,但从 C# 的角度(.NET 4.5)我很好奇,如果事实上 Task.Run 会更快,因为它是按需启动任务而不是排队线程池?

任何人都知道异步等待可以并且会比 ThreadPool.QueueUserWorkerItem 实现更快吗?

4

1 回答 1

4

不,它会更慢。

QUWI是一个非常低级的调用。Task.Run必须至少创建 aTask然后将其排队(类似于QUWI)。

我怀疑您的测试代码正落入微基准测试的众多 陷阱之一。

于 2013-07-03T15:30:31.250 回答