gpt4 book ai didi

c# - 使用哪种线程类型,适当的暂停/中止?

转载 作者:行者123 更新时间:2023-11-30 21:08:56 24 4
gpt4 key购买 nike

我正在创建一个简单的程序来控制两个电机和一个光幕,出于安全原因。在程序中,用户将点击“运行”,并且(在新线程上)如果没有任何东西进入光幕,电机将移动到不同的位置。如果确实有东西进入光幕,则会引发一个事件,该事件必须立即停止所有运动(即停止另一个线程)。

对于这种情况我应该使用什么线程类型?我对 System.Threading.Thread 有点熟悉,并且使用过 ThreadPool 来完成小型的数字计算任务。

此外,如果光幕损坏,安全停止硬件(即线程)的适当方法是什么?我听说 Abort() 方法不合适。

谢谢!

编辑

我正在使用 .NET 2.0。

最佳答案

不仅 Thread.Abort() 对您的代码来说不是最安全的事情,它看起来也不像是保证引擎关闭的方法。除非线程代码一直处于某种循环中,一直按下死人开关。换句话说,

to safely stop the hardware (i.e. the thread)

它们似乎不是一回事。

您的电机线程应该合作,即持续轮询取消标志。这适用于所有解决方案(线程、TPL)。

关于c# - 使用哪种线程类型,适当的暂停/中止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9297737/

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