gpt4 book ai didi

c# - 在 C# 中取消另一个任务时运行一个任务

转载 作者:行者123 更新时间:2023-12-05 01:04:01 25 4
gpt4 key购买 nike

我有以下要求:

  • 并行启动 Task1,2。
  • 任务 5 将在 2 个任务 1,2 中的一个完成时启动。
  • 只有在取消任务 5 时,任务 4 才会启动。

以下是我的代码,但它不起作用。我是否可以在取消另一个任务时启动一个任务?

Task.WhenAny(runTask1(), runTask2()).ContinueWith((t0) => 
{
runTask5();

if (runTask5().Status == TaskStatus.Canceled)
{
runTask4();
}
});

最佳答案

_ = await Task.WhenAny(runTask1(), runTask2());
try
{
await runTask5();
}
catch(OperationCancelledException ex)
{
await runTask4();
}

自 C# 6 起,您可以在 catchfinally block 中 await Task

关于c# - 在 C# 中取消另一个任务时运行一个任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72936099/

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