对于 C# 中 Task 的 StartNew 与 WhenAll 相互配合的实验

💡 原文中文,约2800字,阅读约需7分钟。
📝

内容提要

本文讨论了C#中Task的StartNew和WhenAll的配合使用,通过实验验证了不同情况下的效果。作者得出结论:使用Task.Factory.StartNew方法启动同步方法或Task.Run方法,配合await Task.WhenAll能达到预期效果;但如果Task.Factory.StartNew方法启动的是异步方法,则需要加上Unwrap方法。作者还发现异步方法中无法获取Task.CurrentId的值,而Thread.CurrentThread.ManagedThreadId则稳定。文章提供了测试程序的源码地址,鼓励读者自行探索其他组合情况和发现。

🏷️

标签

➡️

继续阅读