小编Unn*_*med的帖子

异步/等待和主线程

我试图了解异步等待行为,特别是它如何影响主线程,所以我的问题与以下代码相关:

    static async Task Main(string[] args)
    {
        await LongAction();
    }

    static Task LongAction() => Task.Delay(10000);
Run Code Online (Sandbox Code Playgroud)

主线程LongAction执行时会发生什么。据我了解,如果调用者线程不是主线程(让我们称之为线程2),在可等待操作进行期间,该线程(线程2)将返回到ThreadPool(使用默认任务调度程序)。但是主线程会发生这种情况吗(看起来不是这样,因为最初它不是从 TP 中获取的)?如果主线程是具有线程上下文的 UI 线程怎么办?

c# multithreading task async-await

2
推荐指数
1
解决办法
968
查看次数

标签 统计

async-await ×1

c# ×1

multithreading ×1

task ×1