了解 LabView 缓冲区的工作原理

了解 LabView 缓冲区的工作原理

我正在使用 LabView 进行成像项目。在代码中,我有两个单独的 while 循环(大部分情况下)独立运行。如果这算是一种依赖,那么这种小依赖性来自于这样一个事实:第一个循环不断获取输入图像并将其存储在临时缓冲区中;循环的每次迭代都会替换此图像缓冲区中的内容。现在,第二个循环在迭代开始时获取该缓冲区中的所有内容并进行一些处理。

我的问题:缓冲区是如何被覆盖的?它每次会替换一个像素的数据吗?第二个循环是否可以在缓冲区被覆盖的过程中访问缓冲区,从而产生错误的输出?

答案1

根据我的理解,两个 while 循环都是串行的。如果您能添加代码的屏幕截图就好了。

确实LabVIEW 中没有并行性,但是它的内存管理非常好。当代码处于第一个循环中时,图像将被处理,直到第二个循环也处理完毕后,执行才会返回到该图像。这就是为什么它们是串行的,并且应该不会有任何问题,只要缓冲区分配正确,并且名称正确。同样,如果您能向我们展示代码,您的问题会更有意义。

相关内容