java-JUC并发编程学习笔记03(尚硅谷)

线程间通信

例子:

对一个值+1 -1交替完成,a的值就是1 b的值就是0 这个过程就是线程间通信

Synchronized实现:

虚假唤醒问题:

我们再添加两个线程。

我们发现我们的结果就不对了。

我们只需要使用while即可。

我们线程通信的最后一步就是防止虚假通信的出现。

Lock实现:

运行结果:

这就是我们使用lock和synchronized两种方式进行线程的通信的基础学习。

相关推荐
Hhy_110714 分钟前
《C++深度解构06》手撕 string —— 从底层内存管理到深浅拷贝彻底吃透
c语言·开发语言·c++·学习·visual studio
山甫aa1 小时前
锁一篇搞定:乐观锁、悲观锁、CAS、数据库锁与分布式锁【从零开始的 Web 后端学习】
java·数据库·分布式·后端·学习·web
m0_564876841 小时前
CMake学习
学习
只愿云淡风清2 小时前
正则表达式学习笔记 02:基础语法
笔记·学习·正则表达式
wangqiaowq5 小时前
Ontology 学习 二
学习
该学习了咕咕11 小时前
顶刊论文学习笔记
学习
希和202712 小时前
考研英语阅读词汇笔记|城市野径、抄近道步道(非正式小路)
笔记·考研
Linux-lucky13 小时前
45-Linux学习之旅之防火墙与WEB加固
linux·前端·网络·学习·ubuntu
li星野13 小时前
【学习记录】k-Wave 时间步长、CFL 稳定性与参数实验全解析
学习
一个人旅程~15 小时前
关于imac27inch因改短用户名导致混合硬盘和系统崩溃的问题分析与故障解决
经验分享·笔记·macos·新浪微博