如何使用动态事件停止多个while循环
时间:10-02
整理:3721RD
点击:
仿照消息队列范例,我采用动态事件来停止四个while循环,就是在每个循环里加一个事件结构和动态事件接线端,一个地方发送停止信号,所有循环都停止。
之前用这个方法停止三个循环,虽然偶有死机,但是总体还是很稳定的。但是现在有一个循环完全停止不了,后来把其他循环的事件结构删了,发现这个停不了的循环还是可以停的。应该是因为其他循环把动态事件给刷新了?
下面具体提两个问题,希望懂的大神指点迷津。
①动态事件,我现在只用它来停止while循环,事件信息会被刷新么?为什么三个循环接收到了,而一个循环没有接收到?
②停止多个while循环,有没有更好更稳定的方法。在每个while里加个事件结构,总觉得有问题,事件结构本身麻烦就多。
之前用这个方法停止三个循环,虽然偶有死机,但是总体还是很稳定的。但是现在有一个循环完全停止不了,后来把其他循环的事件结构删了,发现这个停不了的循环还是可以停的。应该是因为其他循环把动态事件给刷新了?
下面具体提两个问题,希望懂的大神指点迷津。
①动态事件,我现在只用它来停止while循环,事件信息会被刷新么?为什么三个循环接收到了,而一个循环没有接收到?
②停止多个while循环,有没有更好更稳定的方法。在每个while里加个事件结构,总觉得有问题,事件结构本身麻烦就多。
最好还是用全局变量来停止所有循环吧
这个比较可靠
首先事件结构每个事件没有响应就不会进入该程序,首先想要停止的线程必须有个循环每次都能进入,如果是这样,可以通过全局变量接到WHLIE停止端。这样可以通过某个时间结构将全局置TURE。这样就可以停止所有线程。另:请注意事件结构,如果一个事件里有个死循环,那么别的事件结构不会触发。除非你把每个循环封装成VI异步调用或者通过静态VI方法节点实现。
乱糟糟...
这个功能完全可以用外部中断来实现啊~~~~~
请问什么是外部中断?具体的名称是?谢谢了
好复杂哎。异步调用、静态VI都不懂哎,这个重要么,需要去学习么?
C51单片机的引脚是 INT0、INT1,其它型号单片机类似。具体可度娘【C51中断函数的写法】或【C51中断程序】。
我这里没有用单片机哎。你不会走错版了吧。
不会
好吧,当我没说过。
就那么好笑么?就那么好笑么?就那么好笑么?
