当前位置: 首页 > news >正文

synchronized 学习

学习源:
https://www.bilibili.com/video/BV1aJ411V763?spm_id_from=333.788.videopod.episodes&vd_source=32e1c41a9370911ab06d12fbc36c4ebc

1.应用场景 不超卖,也要考虑性能问题(场景)

2.常见面试问题: sync出现异常是否释放锁
synchronized 和 Lock的区别
synchronized 和 volatile的区别

3.up举了几个例子

对于可见性:
run是共享变量
线程1是 while(run) 死循环
1秒后,线程2执行。线程2修改run为false后,打印退出。

预期线程2执行完成后,线程1立即结束。但是既然UP说存在可见性问题: 是指当一个线程对共享变量进行了修改,那么另外的线程可以立即看到修改后的最新值。

我猜会过一段时间结束。但是不知道会有多久。疑问是如果一直不做处理,会一直不可见吗?

接着是原子性。 这个概念深入我心。不再抄定义。我对于可见性容易忘,可能是我不够熟悉可见性的定义。对定义模糊导致的。可见性就是说对于共享变量的修改,其他线程可以立即感知。可见的东西是并发编程场景下,那个共享变量的可见性。一定要明确定义,才不会含含糊糊。

http://www.dtcms.com/a/241771.html

相关文章:

  • “机器学习中的‘Hello World‘:为什么我们总用MNIST数据集,以及何时该放弃它“
  • echarts开发 | 数据可视化 -- 第一篇 echart配置项学习
  • 脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
  • 【Linux】SSH:简单端口转发的跳板机
  • PennyLane 是一个用于量子计算、量子机器学习和量子化学的跨平台 Python 库。由研究人员构建,用于研究
  • (三)总结(缓存/ETag请求头)
  • 【P2P使用指南】
  • 【从零学习JVM|第五篇】打破双亲委派机制
  • 每日收获总结20250610
  • 鹰盾加密器如何对视频进行分析?
  • 深度学习小项目合集2-视频介绍下自取
  • [特殊字符] 以太坊智能合约:原理、执行与核心机制
  • [UnrealCircle武汉]UE5跨平台游戏常见问题及解决方案笔记
  • PCB设计实践(三十五)STM32与ESP32的核心应用场景及选型
  • 第13篇:数据库中间件缓存策略设计与热点数据优化实践
  • JavaSec-RCE
  • [灵感源于算法] 算法问题的优雅解法
  • 【数据结构】图论经典:Dijkstra最短路径算法精解与工程优化
  • 机器人模型文件urdf介绍
  • 【Zephyr 系列 17】多协议网关实战:BLE + LoRa + UART + MQTT 综合调度系统设计与实现
  • Redis 7.2.3 Windows 安装指南(简单易懂版)
  • ​​CentOS 7.9​​ 上配置 ​​Fail2ban 自动封禁 IP​​ 的完整步骤,整合了多篇权威资料的最佳实践
  • CentOS 安装Python 3教程
  • Docker 安装教程(CentOS 系统)纯新手可入门
  • 二.Gitee分支管理
  • CentOS 7.3环境中部署Kerberos集群
  • 状态模式:对象行为的优雅状态管理之道
  • Centos 安装 Sqoop
  • C语言学习20250610
  • 揭秘OpenJDK 17字节码解释引擎:模板解释器深度解析