C# 并行执行的异步任务使用await操作符

发布网友 发布时间:2022-04-23 22:21

我来回答

1个回答

热心网友 时间:2023-10-11 23:27

Task并不是Thread,一个Thread上可以被分配多个Task且这些Task会由.NET进行调度。
默认的Task.Run将创建一个Task到默认的TaskSchele,首选项是挂在当前线程上。然而当当前线程资源已满,或者状态不为活动中,该Task将被分配到另一可用线程以确保可以立刻执行。如果无其他可用线程则新的线程将被创建。
仔细看你的代码,Task.Delay和Thread.Sleep完全是两种不同的东西。
如需要Task强制分配到当前线程,请在运行Task时显示指定其TaskSchele枚举值为Current。
详情参见MSDN,TaskSchele。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com