【发布时间】:2016-03-09 14:34:42
【问题描述】:
我正在使用
Task task = new Task(action);
task.Start();
大量调用第三方库的 API。通常这个任务不会超过一秒钟。
但我怀疑有时任务会挂起,因此会造成线程泄漏。
有没有办法从外部检查这个任务的执行时间是否超过 x 秒?
我想过在任务中生成另一个任务/计时器来测量它,或者永久轮询Task.Status,但也许有更优雅的方式?
【问题讨论】:
-
如果挂起,我不确定您有多少选择 - 您可以使用任务队列,然后您可以询问是否所有操作都已完成。然后,您可以对剩余的任务发出死亡威胁,但如果它正确挂起,它不会有任何影响。
-
当您对某个有问题的主题不太了解时,描述您的实际观察而不是您的怀疑会有所帮助。
-
你能告诉我们
action实际上在做什么吗?这个问题目前太宽泛了。 -
@CodeCaster:解释这个问题太多了。
-
定义“从外部”——你的意思是从你的进程中的另一个线程?还是来自另一个进程(例如,来自“任务管理器”或调试器)?
标签: c# .net task-parallel-library