这是一个对我来讲比较偏的工具,做过很多项目,没有用它也能完成各种各样的项目。

今天我们一起来了解下这个工具,所以称之为工具,因为它属于NI LabVIEW的白色节点,一般是有官方利用LabVIEW代码重新封装的高阶节点。

这个板块位于:

首先我们来看它的帮助文档:

下面我们来举个例子:

分别创建2个vi:未命名2和未命名3;未命名2创建了5个同步点,未命名3创建了3个同步点,但是他们的名称一样;所以看谁先运行,会得到不以言的效果;

测试情况1:未命名2先运行,此时将会等待另外2个同步点,当未命名3运行后,5个同步点集齐,程序完成同步,最后可以看到运行结果,得到的时间一样,且很准确,实现了2个vi中的共计5个并行运行的代码同步执行。

测试情况2:先运行未命名3,即先创建一个3个集合点的同步,则程序在等待第三个集合点;接着运行未命名2,则会得到第三个集合点,未命名2中的其中一个线程与未命名3中的2个同步执行完成。同时会发现未命名2产生一个错误提示‘’

可以理解这个错误是有由于总共3个集合点,因为谁先运行,由谁创建。而未命名2中将会多出2个等待集合,而此时次同步机制确已经满足3个集合点而而结束运行。所以它将会放回2个错误;

总结:给予队列的同步集合vi使用的方法还是非常简单,它的作用也是很大的,当你需要实现多个线程的某一部分代码的同步执行时,使用这里的节点将会大大提供开发效率和可靠性。当然,你也可以自己实现。

工欲善其事,必先利其器。有趁手的工具,它会更香。

LabVIEW之同步——集合点vi的更多相关文章

  1. Java多线程与并发库高级应用-同步集合

    ArrayBlockingQueue LinkedBlockingQueue 数组是连续的一片内存 链表是不连续的一片内存  传统方式下用Collections工具类提供的synchronizedCo ...

  2. 线程高级应用-心得8-java5线程并发库中同步集合Collections工具类的应用及案例分析

    1.  HashSet与HashMap的联系与区别? 区别:前者是单列后者是双列,就是hashmap有键有值,hashset只有键: 联系:HashSet的底层就是HashMap,可以参考HashSe ...

  3. JDK5新特性之线程同步集合(五)

    一. 传统集合: 传统方式下的Collection在迭代集合时, 不同意对集合进行改动: public class CollectionModifyExceptionTest { public sta ...

  4. Java没有源代码的同步集合~

    存档~~~~ Synchronized,volatile,lock 锁定->[就绪队列,阻塞队列] 第一个是jvm等级达到. 与volatile所不同的是,后者不能从工作存储器写回到主存储器. ...

  5. java多线程中并发集合和同步集合有哪些?区别是什么?

    java多线程中并发集合和同步集合有哪些? hashmap 是非同步的,故在多线程中是线程不安全的,不过也可以使用 同步类来进行包装: 包装类Collections.synchronizedMap() ...

  6. Java多线程同步集合--并发库高级应用

    一.阻塞队列1.在多线程领域,所谓阻塞,在某些情况下会挂起线程,一旦条件满足,被挂起的线程又会自动被唤醒2.ArrayBlockingQueue(效率高)和LinkedBlockingQueue是两个 ...

  7. Java多线程之同步集合和并发集合

    Java多线程之同步集合和并发集合 不管是同步集合还是并发集合他们都支持线程安全,他们之间主要的区别体现在性能和可扩展性,还有他们如何实现的线程安全. 同步集合类 Hashtable Vector 同 ...

  8. 集合框架-工具类-Collections-其他方法将非同步集合转成同步集合的方法

    集合框架TXT  Collections-其他方法将非同步集合转成同步集合的方法

  9. Java 中的同步集合与并发集合有什么区别?

    同步集合与并发集合都为多线程和并发提供了合适的线程安全的集合,不过并发 集合的可扩展性更高.在 Java1.5 之前程序员们只有同步集合来用且在多线程并发 的时候会导致争用,阻碍了系统的扩展性.Jav ...

  10. WPF实战案例-在线程内同步集合数据到UI线程

    有这样一个场景,在vm中,我们为了ui的体验,会异步访问后端接口,获取数据集合,如果这个集合绑定到界面,并且在线程内,怎么处理? 有人讲:this.Dispatcher.Invoke,如果在vm内呢? ...

随机推荐

  1. 处理时间转换不正确-Springboot、springclound、feign、http请求

    SpringBoot.SpringCloud.feign.前后端时间解析不正确时,我们可以自定义HttpMessageConverters,以达到我们希望的结果 参考链接:https://www.cn ...

  2. Topsis法的python实现

    TOPSIS (Technique for Order Preference by Similarity to an Ideal Solution )法是C.L.Hwang和K.Yoon于1981年首 ...

  3. LeetCode刷题感想之DFS

    在剑指Offer里专门有一个部分(大概是连续十几题的样子)考察了 DFS ,也就是深度优先遍历,感觉DFS 也是一种套路,只要思路找对,套一下思路也可以了,在这里记录一下. 在很多Leetcode 的 ...

  4. C语言初级阶段6——自定义数据类型

    C语言初级阶段6--自定义数据类型 阐述 1.构造数据类型:用户自己建立的数据类型(自定义数据类型). 2.C语言中的自定义数据类型:数组类型.结构体类型.共用体类型和枚举类型. 结构体 1.定义:C ...

  5. Linux 配置nginx 代理tomcat,配置ssl

    我就直接干活不废话: 配置文件nginx, nginx.conf #user nobody;worker_processes 1; #error_log logs/error.log;#error_l ...

  6. Cpolar使用

    官网:https://www.cpolar.com/ 下载好,安装,双击打开,注册,登录

  7. C# 事件 初学

    1.事件是可以动态添加和删除操作的,如下>>> 添加: ctr.Click+=ctr_Click; 删除:ctr.Click-=ctr_Click; 2.同一控件相同事件可累加不同事 ...

  8. java比较器:Comparable和Comparator

    java比较器 Comparable 一.java中对象可以通过==或!=比较地址值是否相同,在开发场景中还需要对对象做出大小比较以排序 需要利用接口Comparable或Comparator Com ...

  9. ASP.NET实现前台调用后台变量或者方法

    前台页面 <div> <%= Name %> </div> <div> <%= getName() %> </div> 后台代码 ...

  10. 切片slice

    1.切片 切片是数组的一个引用,因此切片是引用类型,在进行传递时,遵守引用类型的机制 切片的使用和数组类似,如遍历切片,访问切片的元素和求切片长度len(slice)都一样. 切片的长度是可以变化的, ...