新闻中心

EEPW首页 > 测试测量 > 设计应用 > 同步控制技术----栈与队列

同步控制技术----栈与队列

作者: 时间:2017-01-09 来源:网络 收藏

如果已经有同名队列存在,该设置是不起作用的,用的还是第一次运行这个函数时的设置。
element data type:队列中的数据类型,允许任意数据类型。
其它两个非常简单,不介绍了。

2:元素加入队列(Enqueue Element)

3:预览要出队的元素(读,并不取出)

4:取得队列当前状态( Get Queue Status)

这个函数比较重要,它可以获得当前队列的状态信息,包括队列最大长度(设定的),队列名称,当前正在运行的等待取出数据的(运行DEQUEUE)的数量,当前正在运行的加入队列的数量(ENQUEUE),以及当前队列中的所有数据。

5:释放队列(当程序结束时,进行清理工作,防止内存泄露)

6:在相反方向插入队列(栈的功能),如果按这种方式插入一定数量,再依次取出,就是上面说的栈的功能。

对于队列,这个函数可以人工实现队列优先级,最重要的信息可以放在其他不重要的信息前面,比如严重错误,紧急停止等。

7:取出元素。如果当前队列中无元素可以提取,该函数会一直等待到TIMEOUT或者有数据为止。

8。清除队列(FLUSH),清除队列中的所有元素。

可见,队列的基本操作是很简单的,关键是如何在实际工作中正确运用。

我们首先用AE封装一个队列:

我们来模拟一下WINDOWS消息,首先定义消息结构。





然后定义AE,封装队列。















下面我们来实验一下这个AE,它可以运行在任何一个VI中,为了方便,我们在一个VI中做三个循环,两个写入队列(生产者),一个读取队列(消费者);




队列的应用范围非常广,经常和状态机联合使用,就是经常提到的队列状态机,有机会我会结合状态机一起介绍。


上一页 1 2 下一页

关键词: 同步控制栈队

评论


技术专区

关闭