- 从线程是否需要锁定同步资源,分为
乐观锁(互斥同步锁)
– 可以简单理解为通常需要版本号控制
– 举例:如git push
– 适合:并发多读少写的情况
悲观锁(非互斥同步锁)
– 修改数据时把数据锁住别的线程无法访问改变
– 缺点:可能会导致永久阻塞
– 举例:如数据库select xxx for update
–适合:临界区有IO操作、代码复杂、竞争激烈,并发多写入,避免大量自旋锁消耗。 - 多线程下是否可以共享一把锁,分为
共享锁
独占锁 - 多线程下是否需要排队,分为
公平锁
非公平锁 - 等待资源是是否自阻塞,分为
自旋锁
非自旋锁 - 同一个线程是否可以重复获得一把锁,分为
可重复锁
不可重复锁 - 是否可中断
可中断锁
不可中断锁
锁的分类
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
python刷题Leetcode1-30
yahuuu
2020-07-08 07:41:49
leetcode shell部分刷题
第十行 給定一個文本文件 file.txt,請只打印這個文件中的第十行。 awk 'NR==10' file.txt
yahuuu
2020-07-08 07:41:49
leetcode.100-200
yahuuu
2020-07-08 07:41:49
一文讲透“进程,线程和协程”
雲棲號資訊小哥
2020-08-05 15:37:51
连续 3 年最受欢迎:Rust,香!
雲棲號資訊小編
2020-07-21 13:01:52
Python初学者的自我修养,找到自己的方向
雲棲號資訊小哥
2020-07-16 15:19:52
java多线程方式导入excel数据入数据库
weixin_42982636
2020-07-08 11:21:30
Linux C/C++编程之(十七)进程间通信
我是管小亮
2020-07-08 10:47:44
6.4 ThreadPoolExecutor线程池的关闭方法shutdown和shutdownNow区别、示例
一点光辉
2020-07-08 10:46:31
linux下的线程池的实现
xiyuan255
2020-07-08 10:33:42
多线程轮流交替执行三种实现方法
沐雨金鳞
2020-07-08 10:30:45
想要职级到P7,啃完这946页阿里P8面试官都说详细的神仙文档足矣
mrchaochao
2020-07-08 10:00:46
多线程Syschronized
qq_43516647
2020-07-08 09:39:18