首页 新闻 会员 周边

C# winform 控制多线程一起停止工作。

0
悬赏园豆:10 [待解决问题]

目前有一个程序。并行控制的多台不一样的设备。如果要通过一个button 来停止所有线程中运行的设备(设备执行完当前任务后停止)。应该怎么实现比较好呢。
目前的做法是通过一个全局bool变量来实现的。button 按下后,全局变量为true。设备在执行完当前任务后,检查bool 是否为true.是则return.
万能的园友。请问这种方式会有什么问题吗?

一只调羹的主页 一只调羹 | 初学一级 | 园豆:192
提问于:2021-05-20 11:24
< >
分享
所有回答(3)
0

记录线程id,和标记设备id

在按钮点击后,查看这些记录线程id的线程状态,在运行线程的完成方法中处理设备,找到这些设备id并停止;

悟行 | 园豆:12559 (专家六级) | 2021-05-20 11:41
1

我觉得你现在的方案就挺好

会长 | 园豆:12401 (专家六级) | 2021-05-20 13:45
1

多线程停止控制 考虑使用 CancellationTokenSource

gt1987 | 园豆:1150 (小虾三级) | 2021-05-26 14:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册