gpt4 book ai didi

c# - 调用正在运行的线程C#

转载 作者:行者123 更新时间:2023-12-03 13:19:52 26 4
gpt4 key购买 nike

我有一个Windows服务,主线程产生了几个子线程来执行工作。主线程按名称维护这些线程的列表。子项完成后,主线程将其从列表中删除。 Main使用计时器来定期启动子线程(如果尚未运行)(通过检查列表)。线程以“即发即弃”线程启动。
有时子线程可能会挂起,或者可能花费很长时间。但是我的主线程无法知道。我希望主线程能够“调用”子线程并询问“您在做什么吗?”如果 child 回应,我就知道他还没挂。

最佳答案

您可以使用心跳:

每次执行一些小操作时,子线程都会使用当前UTC时间更新一个变量。每个线程(或并发字典)都需要一个(properly locked)变量。

您的主线程会定期检查这些心跳。如果心跳早于给定时间,则主线程会知道子线程的某些操作所花费的时间比应执行的时间长得多。

关于c# - 调用正在运行的线程C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26544764/

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