【发布时间】:2014-10-24 09:03:14
【问题描述】:
我有一个 Windows 服务,主线程产生几个子线程来执行工作。主线程按名称维护这些线程的列表。当一个孩子完成时,主线程将其从列表中删除。如果子线程尚未运行(通过检查列表),Main 使用计时器定期启动子线程。线程作为“即发即弃”线程启动。 有时子线程可能会挂起,或者可能只是需要很长时间。但是我的主线程无法知道。我希望主线程能够“调用”一个子线程并询问“你在做什么吗?”如果孩子有反应,那么我知道他没有挂起。
【问题讨论】:
-
你有什么理由不只是在这里利用TPL?
-
您的目标是什么? c# 有很多多线程工具可以帮助你管理线程。
-
C# 中的每个线程都有
ThreadState属性。为什么不检查状态是否为Running? -
@James 可能出于同样的原因每个人都坚持使用套接字而不是更高级别的构造:不知道它们存在。
-
修复错误,尝试在其上贴创可贴不会止血。
标签: c# multithreading