技术栈

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

抹茶味的西瓜汁2024-01-31 13:07

线程间通信

例子:

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

Synchronized实现:

虚假唤醒问题:

我们再添加两个线程。

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

我们只需要使用while即可。

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

Lock实现:

运行结果:

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

上一篇:Open CASCADE学习| 打开文件
下一篇:systemd:service与target使用及相关命令
相关推荐
载数而行520
7 小时前
QT的五类布局
c++·qt·学习
载数而行520
8 小时前
QT的QString类
c++·qt·学习
zl_dfq
8 小时前
Python学习2 之 【数据类型、运算及相关函数、math库】
学习
左左右右左右摇晃
9 小时前
HashMap 扩容机制
笔记
2301_78114356
10 小时前
C语言学习笔记
笔记·学习
Alphapeople
12 小时前
Isaac Sim学习
学习
蒸蒸yyyyzwd
12 小时前
高并发40问学习笔记
笔记·学习
天若有情673
13 小时前
循环条件隐藏陷阱:我发现了「同循环双条件竞态问题」
c++·学习·算法·编程范式·while循环·坑·竞态
Amazing_Cacao
14 小时前
褪去故事滤镜:重建精品可可的“结构语言”
笔记·学习
网络工程小王
15 小时前
【大数据技术详解】——Sqoop技术(学习笔记)
大数据·学习·sqoop
热门推荐
01GitHub 镜像站点02Qwen3.5 开源全解析:从 0.8B 到 397B,代际升级 + 全场景选型指南03OpenClaw 使用和管理 MCP 完全指南04OpenClaw Control UI安全上下文访问配置05本地部署 OpenClaw + DeepSeek-R1 完全指南06UV安装并设置国内源07OpenClaw macOS 完整安装与本地模型配置教程(实战版)08Openclow安装保姆级教程09在 Windows 上配置 Claude Code从安装到解决网络问题10Claude Code + GLM4.7 避坑指南:解决 Unable to connect to Anthropic services