共享锁(S锁):如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁,直到已释放所有共享锁。获准共享锁的事务只能读数据,不能修改数据。 排他锁(X锁):如果事务T对数据A加上排他锁后,则其他事务不能再对A加任任何类型的锁,直到在事务的末尾将资源上的锁释放为止。获准排他锁的事务既能读数据,又能修改数据。

自旋锁与互斥锁有点类似,只是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是否该自旋锁的保持者已经释放了锁,"自旋"一词就是因此而得名。

  • 自旋锁:自旋,jvm默认是10次吧,有jvm自己控制。for去争取锁
  • 自旋锁的其他种类
  • 阻塞锁:被阻塞的线程,不会争夺锁。
  • 可重入锁: 多次进入改锁的域
  • 读写锁
  • 互斥锁:锁本身就是互斥的
  • 悲观锁:不相信,这里会是安全的,必须全部上锁
  • 乐观锁:相信,这里是安全的。
  • 公平锁:有优先级的锁
  • 非公平锁:无优先级的锁
  • 偏向锁:无竞争不锁,有竞争挂起,转为轻量锁
  • 对象锁:锁住对象
  • 线程锁
  • 锁粗化:多锁变成一个,自己处理
  • 轻量级锁:CAS 实现
  • 锁消除:偏向锁就是锁消除的一种
  • 锁膨胀:jvm实现,锁粗化
  • 信号量:使用阻塞锁 实现的一种策略

转载于:https://my.oschina.net/u/2307114/blog/908009


http://www.taodudu.cc/news/show-6457567.html

相关文章:

  • Java中的互斥锁介绍
  • AUTOSAR-自旋锁(spinlock)与互斥锁
  • 同步和互斥的POSXI支持(互斥锁,条件变量,自旋锁)
  • 自旋锁替代互斥锁使用场景
  • 你了解多线程自旋锁、互斥锁、递归锁等锁吗?
  • iceberg+Spark3.0-sql测试
  • python只能使用内置数据库_Python只能使用内置数据库SQLite,无法访问MS SQLServer、ACCESS或Oracle、MySQL等数据库...
  • 蛋白质对中可能相互作用域的数目计算
  • 使用计算机制作数字文本结构 可以,使用计算机制作的数字文本结构,可以分为线性结构与非线性结构,简单文本呈现为一种____结构,写作和阅读均按顺序进行。...
  • 刚走上工作岗位的程序员——如何看待业务和技术
  • 关于计算机毕业后能从事的岗位,以及工作内容。
  • ChatGPT、低代码等技术出现会不会导致底层程序员失业
  • ChatGPT:新晋CV工程师
  • 程序员科班出身的专业有哪些?
  • 程序员的工作内容
  • Ncat 介绍
  • 程序员岗位职责
  • PHP程序员的工作内容复杂吗?如何更快完成交代的任务?
  • ChatGPT 目前到底能帮助我们程序员做什么?
  • ChatGPT会让程序员失业?ChatGPT:“ 是友军,我不从事任何职业。
  • 程序员需要弄懂的三大部分,程序员具体工作是做什么的 ?
  • PHP程序员上岗后的工作都有哪些内容?我来和大家分享一下
  • ChatGPT是否会取代程序员:一场关于职业未来的讨论
  • 排列计算公式,公式含义
  • 排列组合C(n,k)计算公式
  • 总结大佬经验,如何学习STM32?(入门、进阶)
  • 小菜狗套Unet分割模型
  • 推荐几个值得看的技术大佬
  • python-docx在word中表格添加表格
  • 自动化处理--python读取word中表格内容

互斥锁(排它锁、独占锁、写锁、X锁)和共享锁(读锁、S锁) 自旋锁相关推荐

  1. Java中的锁机制 -- 乐观锁、悲观锁、自旋锁、可重入锁、读写锁、公平锁、非公平锁、共享锁、独占锁、重量级锁、轻量级锁、偏向锁、分段锁、互斥锁、同步锁、死锁、锁粗化、锁消除

    文章目录 1. Java中的锁机制 1.1 乐观锁 1.2 悲观锁 1.3 自旋锁 1.4 可重入锁(递归锁) 1.5 读写锁 1.6 公平锁 1.7 非公平锁 1.8 共享锁 1.9 独占锁 1.1 ...

  2. 【线程、锁】什么是AQS(锁分类:自旋锁、共享锁、独占锁、读写锁)

    文章目录 1. 什么是AQS 1.1 锁分类 1.2 具体实现 2. AQS底层使用了模板方法模式 3. AQS的简单应用 参考 1. 什么是AQS AQS:全称为AbstractQuenedSync ...

  3. 各类锁(互斥锁,自旋锁,读写锁,乐观锁,悲观锁,死锁)

    互斥锁 当有一个线程要访问共享资源(临界资源)之前,会对线程访问的这段代码(临界区)进行加锁.如果在加锁之后没释放锁之前其他线程要对临界资源进行访问,则这些线程会被阻塞睡眠,直到解锁,如果解锁时有一个 ...

  4. 自旋锁/互斥锁/读写锁/递归锁的区别与联系

    自旋锁 互斥锁 读写锁 递归锁 互斥锁(mutexlock): 最常使用于线程同步的锁:标记用来保证在任一时刻,只能有一个线程访问该对象,同一线程多次加锁操作会造成死锁:临界区和互斥量都可用来实现此锁 ...

  5. 【Java 多线程】互斥锁,自旋锁和读写锁

    转自:http://swiftlet.net/archives/2243 锁是为了解决某种资源(又称为临界资源)互斥使用提出的一种机制.常用的有互斥锁.自旋锁和读写锁. 自旋锁和互斥锁功在使用时差不多 ...

  6. Java 中15种锁的介绍:公平锁,可重入锁,独享锁,互斥锁,乐观锁,分段锁,自旋锁等等...

    http://blog.51cto.com/13919357/2339446 Java 中15种锁的介绍 在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类.介绍的内容 ...

  7. Java 中15种锁的介绍:公平锁,可重入锁,独享锁,互斥锁,乐观锁,分段锁,自旋锁等等

    Java 中15种锁的介绍 在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类.介绍的内容如下: 公平锁 / 非公平锁 可重入锁 / 不可重入锁 独享锁 / 共享锁 互 ...

  8. zbb20180929 thread 自旋锁、阻塞锁、可重入锁、悲观锁、乐观锁、读写锁、对象锁和类锁...

    1.自旋锁 自旋锁可以使线程在没有取得锁的时候,不被挂起,而转去执行一个空循环,(即所谓的自旋,就是自己执行空循环),若在若干个空循环后,线程如果可以获得锁,则继续执行.若线程依然不能获得锁,才会被挂 ...

  9. 漫画Linux 并发、竞态、互斥锁、自旋锁、信号量

    1. 锁的由来? 学习linux的时候,肯定会遇到各种和锁相关的知识,有时候自己学好了一点,感觉半桶水的自己已经可以华山论剑了,又突然冒出一个新的知识点,我看到新知识点的时候,有时间也是一脸的懵逼,在 ...

  10. 自旋锁和互斥锁的区别

    自旋锁和互斥锁的区别 POSIX threads(简称Pthreads)是在多核平台上进行并行编程的一套API.线程同步是并行编程中非常重要的通讯手段,其中最典型的应用就是用 Pthreads提供的锁 ...

最新文章

  1. 一次使用 Eclipse Memory Analyzer 分析 Tomcat 内存溢出
  2. DeepMind用神经网络求解MIP后,攻破运筹学只是时间问题?你想多了
  3. 《研磨设计模式》chap21 解释器模式Interpreter(1)模式介绍
  4. 三款运用二维码分享与预览的原型设计工具
  5. [链表] --- 反转链表(leetcode 206)
  6. 再次携号转网_陕西通信管理局:对移动公司拒绝对用户提供携号转网服务的违法行为处罚!...
  7. 计算机的任务管理器作用,电脑技术:如何妙用任务管理器
  8. Hbase ConnectionFactory
  9. 十一、Shell脚本流程控制语句
  10. 软件开发可行性分析规范
  11. google地图距离算法_谷歌地图计算两个坐标点的距离函数
  12. N多计算机精品免费视频下载,不要别后悔啊
  13. Disconnected: No supported authentication methods available(server sent: publickey) 的解决办法
  14. 河城荷取 二分答案 最大流
  15. python刷新cdn_使用Python解析阿里云CDN日志
  16. 记使用腾讯TIM开发聊天通讯遇到的问题及解决方案
  17. 3U8633——雷达对民航的贡献
  18. TSC打印机ttp-247(java)
  19. kali连接MySQL
  20. Linux最常用的关机命令介绍!

热门文章

  1. java离线安装包_java下载
  2. android数据库工具库,android 数据库工具种MyDbHelper
  3. 科研实验如何起草一份通俗易懂的SOP?
  4. 编译原理第四章练习题
  5. 空间分析:3-2.geoda地图与探索分析
  6. Spring Cloud全家桶主要组件及简要介绍
  7. tensorflow教程中的mnist数据下载脚本
  8. Javascript 参数归一化
  9. npm安装windows-build-tools时卡在Successfully installed Python 2.7
  10. 陌陌 Service Mesh 架构的探索与实践