【发布时间】:2021-02-05 22:34:00
【问题描述】:
我有一个任务池,我正在尝试找出在一个事件完成时通过事件获得通知的最佳方式。
由于任务种类繁多,我不想在任务本身中添加一段代码,因为这意味着将它放在多个地方。这些是长期运行的任务,我不会等待他们在任何地方完成,他们只是开始,完成他们的工作(几分钟到几天)然后他们完成。
丑陋但可行的解决方案是将每个工作任务包装成另一个任务,等待工作任务完成然后发送一个事件,但我希望会有更优雅的东西。
【问题讨论】:
-
“任务”是什么意思?这是指
System.Threading.Tasks.Task还是其他任务的表示? -
如果是
System.Threading.Tasks.Task,那么你可以使用System.Threading.Task.WhenAny静态方法。它将返回任务,当任何任务完成时都会完成 -
@TomasPetricek 是的,我说的是 threading.tasks
-
@JL0PD,回到创建一个任务来监控另一个任务;我想知道一个事件是否可以在任务完成时附加到任务本身。