- 0
- 0
- 约1.85万字
- 约 24页
- 2025-10-28 发布于北京
- 举报
28-Immutability模式:如何利用不变性解决并发问题?
我们曾经,“多个线程同时读写同一共享变量存在并发问题”,这里的必要条件之一是读写,如果只有
读,而没有写,是没有并发问题的。
解决并发问题,其实最简单的办法就是让共享变量只有读操作,而没有写操作。这个办法如此重要,以至于
被上升到了一种解决并发问题的设计模式:不变性(
Immutability)模式。所谓不变性,简单来讲,就是对
象一旦被创建,状态就不再发生变化。换句话说,就是变量一旦被赋值,就不允许修改了(没有写操
作);没有修改操作,也就是保持了不变性。
快速实现具备不可变性的类
实现一个具备不可变性的类,还是挺简单的。将一个类所有的属设置成final的,并且只允许存在只读方
法,那么这个类基本上就具备不可变性了。更严格的做法是这个类本身也是final的,也就是不允许继承。因
为子类可以覆盖父类的方法,有可能改变不可变性,所以推荐你在实际工作中,使用这种更严格的做法。
JavaSDK里很多类都具备不可变性,只是由于它们的使用太简单
您可能关注的文档
最近下载
- ISO14001-2026标准换版考试试题及答案(2025).doc VIP
- 2026最新ISO9001质量管理体系考试题及参考答案.docx VIP
- 土库曼斯坦亚苏尔哲别油田控压钻井技术.docx VIP
- 食材配送项目投标方案.docx VIP
- GZ010 建筑智能化系统安装与调试赛项赛题(学生赛)第4套-2023年全国职业院校技能大赛赛项赛题 .pdf VIP
- GZ010 建筑智能化系统安装与调试赛项赛题(学生赛)第1套-2023年全国职业院校技能大赛赛项赛题 .docx VIP
- GZ010 建筑智能化系统安装与调试赛项赛题(教师赛)第10套-2023年全国职业院校技能大赛赛项赛题.docx VIP
- GZ010 建筑智能化系统安装与调试赛项赛题(教师赛)第8套-2023年全国职业院校技能大赛赛项赛题.docx VIP
- GZ010 建筑智能化系统安装与调试赛项赛题(教师赛)第7套-2023年全国职业院校技能大赛赛项赛题.docx VIP
- GZ010 建筑智能化系统安装与调试赛项赛题(教师赛)第6套-2023年全国职业院校技能大赛赛项赛题.docx VIP
原创力文档

文档评论(0)