事件结构中循环如何嵌套运行?

2019-07-17 08:16发布

打个比方,有三个事件,之间有互相约束的关系,但是没有明星的主次。一般是在第一二个事件发生后,第三个事件才有效执行。现在的问题是,第三个事件发生后,就会执行循环,大概要循环几百次,每次循环的时间有可能十多二十秒,那么我这个循环该放在哪里?是放在第三个时间内,还是加个顺序结构,将这个循环放在事件发生结构后。还有,如果在循环运行期间,我想要触发第二、三个事件的话,该怎么处理?谢谢各位慷慨解囊。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
17条回答
ZHZJK
2019-07-17 22:39
luo_wei 发表于 2014-9-11 22:42
你这个我还没太弄明白,怎么说呢,不会应用。用到自己的程序中反应好慢了 ...

这样来说吧
先说两个while循环的作用
第一个while循环用来执行事件,像第一,第二状态的功能可以直接放到事件结构里去解决。
而第三状态这需要放到第二个while循环里执行,为了不干扰事件的相应。

在说下两个循环是如何执行的,while循环是并行的,至少你看起来是这样的。
但是当一个while循环结构执行后,需要等待另一个while循环。也就是说,另一个while执行10秒,你就要等待10秒
这就是你卡的原因

下面说下解决方法

很少有一个一条语句能执行10秒以上的
也就是说你的第三种状态,其实是由很多不同步骤联合起来的

打个比方,你的第三种状态执行的就是  准备晚饭  
一般准备晚饭要30分钟到一小时不等
但是晚饭并非只有准备晚饭一个步骤
它是由 洗菜, 切菜, 炒菜,等等不同步骤组合而成的
而每个步骤还可以继续往下分解  洗菜是由:拿出菜,打开水,冲洗等等状态组成的
而这些步骤执行起来时间相对较短了很多

也就是说,你第二个循环要将10秒的操作,分解为N个小于1秒的状态
然后要用状态机来编写程序

对你的问题我只能说这么多,程序运行卡,只能说你尚未了结这门程序








一周热门 更多>