gpt4 book ai didi

c# - 调用长时间运行的方法并继续执行其他任务

转载 作者:行者123 更新时间:2023-11-30 14:32:51 24 4
gpt4 key购买 nike

public class PerformMainTask()
{
Task1();
Task2();
PerformLongTask();
Task3();
Task4();
}

我想在这里实现的是将 PerformLongTask() 放到另一个线程上,并继续执行 Task3 和 Task4,即使 PerformLongTask() 仍在运行。

我的 PerformLongTask() 应该如何像 C# 5.0 方式一样?

我需要使用async/await吗?

最佳答案

我知道的最简单的解决方案是:

Task1();
Task2();
var task3 = Task.Run(() => PerformLongTask());
Task4();
Task5();
task3.Wait(); //if task3 has not started yet it will be inlined here

简单高效。如果您需要传播错误,您应该使用 Parallel.Invoke:

Parallel.Invoke(
() => { PerformLongTask(); },
() => { Task4(); Task5(); }
);

关于c# - 调用长时间运行的方法并继续执行其他任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17720733/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com