labview 多线程同步

news/2024/11/17 2:36:22/

所谓通讯的同步是指多个线程同时进行或严格按照顺序执行,数据的严格性是指发送多少数据接收多少数据,不能出现数据丢失或重复接收的现象。

labview的同步机制有事件发生、集合点、通知器、信号量

可以这么来记忆:事急(集)通信

1.事件发生

 图1-事件发生例子的前面板和程序框图

从前面板可以看出已经出现了不同步情况,因为线程1所在循环耗时长。

而且,在采集开关没有on,会先采集一次。

这是极端情况,有时也是可以用的。

2.集合点

 

 图2-集合点例子的前面板和程序框图

从前面板可以看出,严格同步,线程1和线程2采集次数一样的。

必须要等采集开关on时,才开始采集。

集合点能实现严格同步

3.通知器

 图3-通知器的前面板和程序框图

从上图可以看出,线程1和线程2出现了不同步现象。

必须要等采集开关on时,才开始采集。

 4.信号量

图4 信号量例子的前面板

 

 

 图5-信号量例子的程序框图

由前面板可看出,两个线程中的一个先采集100次,然后另外一个线程再采集100次,然后结束,

实现了有限资源的合理利用。

限制可以同时取用共享(受保护)资源的任务数量方法。

比如多线程对1个文件写、同一串口的写操作的情况,都可利用信号量。

参考链接如下:

事件发生:

https://download.csdn.net/download/weixin_39926429/87904328

集合点:

https://download.csdn.net/download/weixin_39926429/87914061

通知:

https://download.csdn.net/download/weixin_39926429/87904329

信号量:

https://download.csdn.net/download/weixin_39926429/87914064


http://www.ppmy.cn/news/977668.html

相关文章

工程安全监测无线振弦采集仪在建筑物中的应用

工程安全监测无线振弦采集仪在建筑物中的应用 工程安全监测无线振弦采集仪是一种用于建筑物结构安全监测的设备,它采用了无线传输技术,具有实时性强、数据精度高等优点,被广泛应用于建筑物结构的实时监测和预警。下面将从设备的特点、应用场…

Git 命令行教程:如何在 GitLab 中恢复已删除的分支

在软件开发过程中,版本控制是一个至关重要的环节。Git 是最流行的分布式版本控制系统之一,它能够帮助团队高效地管理代码。然而,有时候会发生意外,例如代码误合、错误的删除等情况,导致重要的开发分支本地和远程不慎被…

解决报错:Can‘t connect to HTTPS URL because the SSL module is not available.

本人今天准备打开安装一个label-studio包,试了很多次,接连报如下错误,因此我就去找了一些解决方案,现在总结如下: 1、报错信息如下 2、解决方案如下: github上有对应的解决方案,链接&#xff…

Java调用HTTP接口

说明 Java调用HTTP接口可以使用Java的HttpURLConnection或HttpClient等工具 HttpURLConnection import java.net.HttpURLConnection; import java.net.URL; import java.io.BufferedReader; import java.io.InputStreamReader;public class HttpExample {public static void…

excel中单行换成多行

今天碰以下情况: 这在excel表中是在一个单元格,现在需要对其进行转换,将一个单元格换成多行 步骤: 1.删除换行符,添加一个逗号 2.选择数据-分列-分隔字符-逗号-确定 3.复制上述数据,选择性粘贴-转置 完…

【docker】docker部署tomcat

目录 1.1 搜索tomcat镜像1.2 拉取tomcat镜像1.3 创建容器,设置端口映射、目录映射1.4 测试 1.1 搜索tomcat镜像 docker search tomcat1.2 拉取tomcat镜像 docker pull tomcat1.3 创建容器,设置端口映射、目录映射 # 在/root目录下创建tomcat目录用于存…

git 提示 不能合并

今天A分支合并B分支,提示“不能合并” 最终发现,是另一个分支的版本落后导致,但是git并未提示出来 有遇到这种问题可以先检查下版本

K8S系统监控:使用Metrics Server和Prometheus

Kubernetes 也提供了类似的linux top的命令,就是 kubectl top,不过默认情况下这个命令不会生效,必须要安装一个插件 Metrics Server 才可以。 Metrics Server 是一个专门用来收集 Kubernetes 核心资源指标(metrics)的…