网页设计商城网站建设,宣传片制作公司前景,可视化网站开发软件,企业网站建设的主要步骤LabVIEW生产者消费者架构
生产者/消费者模式可以轻松地同时处理多个进程#xff0c;同时还能以不同速率迭代。
缓冲通信
当多个进程以不同速度运行时#xff0c;就适合采用进程间缓冲通信。有了足够大的缓冲区后#xff0c;生产者循环可以以快于消费者循环的速度运行同时还能以不同速率迭代。
缓冲通信
当多个进程以不同速度运行时就适合采用进程间缓冲通信。有了足够大的缓冲区后生产者循环可以以快于消费者循环的速度运行而不会丢失数据。
比如有一个包含两个进程的应用程序第一个进程负责数据采集第二个进程将数据传输到网络上。第一个进程的运行速度是第二个进程的三倍。如果使用生产者/消费者设计模式来实现此应用程序则数据采集进程充当生产者网络进程充当消费者。当拥有足够大的通信队列缓存区时网络进程便可以访问数据采集循环采集到的大量数据。这种数据缓存能力能够最大程度地减少数据丢失。
对于在使用队列功能时发生的缓冲通信如果要将其可视化请参见范例程序使用生产者/消费者循环移动LabVIEW窗口。 数据采集和处理
在采集需按顺序处理的多组数据时通常采用生产者/消费者模式。
假设要编写一个应用程序该应用程序在接受数据的同时还要按照接收顺序处理数据。由于这些数据的排队生产速度比实际处理消费速度高出很多因此生产者/消费者设计模式最适合此类应用程序。通过这种方法消费者循环可以按自己的速率处理数据同时生产者循环也可以让额外的数据排队。
试想一下–如果生产者和消费者都在该应用程序的同一循环中为了匹配数据处理速度数据采集速度就会变慢。这就是按进程、数据采集生产者和处理消费者对代码进行分解的好处。
网络通信
网络通信需要两个进程同时以不同的速度运行第一个进程将不断轮询网络线路并检索数据包第二个进程将提取第一个进程检索的这些数据包并加以分析。在此范例中第一个进程充当生产者因为它向第二个进程提供数据而第二个进程则充当消费者。这时就非常适合使用生产者/消费者设计模式。并行的生产者循环和消费者循环要同时检索和分析网络外数据两个循环之间的排队通信可以对检索到的网络数据包进行缓存。这种缓冲在网络通信繁忙时就显得非常重要。借助缓存数据包的检索和传输速度可以超过分析速度。
队列消息处理
排队消息处理器架构是生产者/消费者架构的一个特殊版本。数据队列用于为生产者/消费者设计模式中的循环之间传递数据。这些队列提供了一个优势即生产者和消费者循环间的数据缓冲。
这是LabVIEW的一个功能介绍更多的使用方法与开发案例欢迎登录官网了解更多信息。有需要LabVIEW项目合作开发请与我们联系。