关注:124 2014-01-19 15:12

在使用LabVIEW中的带事件的生产者消费者模式进行编程时,将元素出队列函数放在消费者的While循环外部或者While循环内部Case外时,程序都不能正确运行,为什么?

已解决 悬赏分:0 - 解决时间 2024-05-07 02:55
  支持(0)  |   反对(0)   |  我来评论 2014-01-11 12:40
  

将元素出队列放在While循环的外部时,生产者循环只能向消费者循环传递一次数据,当生产者循环再次入队列时,在消费者循环中就不能再次接收到数据。因此,不能将元素出队列函数放在While的外部。而若将其放在While循环内部Case外时,若生产者循环只产生一次入队列操作,则在消费者循环需要多次执行的时候产生错误,因为根据数据流的概念,在Case结构上的输入节点必须全部有效时,才能运行该Case分支所代表的状态。所以也不能按照上述方法放置。正确的做法是将元素出队列放置在消费者的状态机内部。