锁&加锁粒度
来源:互联网 发布:录播视频软件 编辑:程序博客网 时间:2024/06/05 18:04
为什么要加锁?加锁是为了防止不同的线程访问同一共享资源造成混乱。
打个比方:人是不同的线程,卫生间是共享资源
你在上洗手间的时候肯定要把门锁上吧,这就是加锁,只要你在里面,这个卫生间就被锁了,只有你出来之后别人才能用。想象一下如果卫生间的门没有锁会是什么样?
打个比方:人是不同的线程,卫生间是共享资源
你在上洗手间的时候肯定要把门锁上吧,这就是加锁,只要你在里面,这个卫生间就被锁了,只有你出来之后别人才能用。想象一下如果卫生间的门没有锁会是什么样?
什么是加锁粒度呢?所谓加锁粒度就是你要锁住的范围是多大。
比如你在家上卫生间,你只要锁住卫生间就可以了吧,不需要将整个家都锁起来不让家人进门吧,卫生间就是你的加锁粒度。
怎样才算合理的加锁粒度呢?
其实卫生间并不只是用来上厕所的,还可以洗澡,洗手。这里就涉及到优化加锁粒度的问题。
你在卫生间里洗澡,其实别人也可以同时去里面洗手,只要做到隔离起来就可以,如果马桶,浴缸,洗漱台都是隔开相对独立的,实际上卫生间可以同时给三个人使用,
当然三个人做的事儿不能一样。这样就细化了加锁粒度,你在洗澡的时候只要关上浴室的门,别人还是可以进去洗手的。如果当初设计卫生间的时候没有将不同的功能区域划分
隔离开,就不能实现卫生间资源的最大化使用。这就是设计架构的重要性。
0 0
- 锁&加锁粒度
- 锁&加锁粒度
- 加锁粒度
- 加锁和锁的粒度的思考
- 线程粒度因子与锁粒度因子
- 控制锁的粒度
- 控制锁的粒度
- synchronized锁的粒度
- oracle 锁粒度
- myisam 并发 锁粒度
- 数据库锁的粒度
- oracle多粒度锁机制
- Oracle多粒度锁机制
- 锁粒度和层次结构
- 加锁
- 加锁
- 加锁
- 加锁
- mybatis重拾---部署官方demo
- DDR内存配置
- Linux下区分物理CPU、逻辑CPU和CPU核数
- codeforces A. k-String 题解
- 装饰模式VS建造者模式
- 锁&加锁粒度
- Android: 通过Runtime.getRuntime().exec调用底层Linux下的程序或脚本
- 写给大学男同胞几条择偶建议
- 数据结构(一)之链表
- POJ-1011-Sticks
- undefined reference to error解决方法
- Python学习(二):入门篇:python中流程控制与函数编写
- 15 minutes - Binary Tree Zigzag level order traversal
- SDRAM工作时序与原理