【发布时间】:2018-03-01 05:24:16
【问题描述】:
我有几个按顺序运行的任务;一个接一个。
Task.Factory.StartNew(() => DoWork1())
.ContinueWith((t1) => DoWork2())
.ContinueWith(t2 => DoWork3());
我想把它放在一个循环中,这样它们就可以无限期地运行(DoWork3() 完成后,返回到DoWork1()。我尝试放入一个 while 循环,但是一旦任务完成,循环就会进入下一次迭代启动,创建大量新任务。
如果有一种方法可以退出条件以跳出循环,也许会传递一个取消令牌。
谢谢!
【问题讨论】:
-
太棒了!让我们知道您的进展情况
-
最终遵循@MickyD 关于使用连续等待的建议并替换了 ContinueWith 的。任何一个都有效,但 awaits 似乎更具可读性/灵活性。
标签: c# multithreading task task-parallel-library