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

陕西做网站的公司电话新颖的公司名字大全

陕西做网站的公司电话,新颖的公司名字大全,网站后台排版工具,公司网站建设厂家目录 Java中的synchronized关键字用于实现同步控制,以保护共享资源免受并发访问的影响。为了提高性能,特别是针对多线程环境中的锁机制,Java引入了锁升级的概念。锁升级的过程主要是为了减少锁操作的开销,根据竞争情况动态地调整锁…

目录

Java中的synchronized关键字用于实现同步控制,以保护共享资源免受并发访问的影响。为了提高性能,特别是针对多线程环境中的锁机制,Java引入了锁升级的概念。锁升级的过程主要是为了减少锁操作的开销,根据竞争情况动态地调整锁的类型,从低开销到高开销逐步升级。以下是synchronized锁升级的典型过程:

  1. 无锁状态:对象最初处于无锁状态,没有任何线程持有该对象的锁。

  2. 偏向锁(Biased Locking)

    • 当第一个线程访问同步代码块时,JVM会尝试为这个线程提供偏向锁,即将对象头的Mark Word设置为这个线程的ID。
    • 如果后续的访问仍然是这个线程,那么无需任何同步操作即可直接访问,这大大提高了单线程环境下的性能。
    • 偏向锁的撤销通常发生在另一个线程尝试获取同一个锁时。
  3. 轻量级锁(Lightweight Locking)

    • 当有第二个线程尝试获取已被偏向的锁时,偏向锁会被撤销,并升级为轻量级锁。
    • 线程会尝试使用CAS(Compare and Swap)操作将锁标志位设为“锁定状态”,并将自己的线程ID记录在对象头的Mark Word中。
    • 如果CAS成功,线程获得锁;如果失败,则进入自旋等待状态,尝试在不阻塞的情况下再次获取锁。
  4. 重量级锁(Heavyweight Locking)

    • 如果轻量级锁下的自旋等待时间过长,或者有更多线程竞争同一锁,轻量级锁将升级为重量级锁。
    • 在重量级锁下,无法获得锁的线程会被阻塞,并进入操作系统管理的等待队列,由操作系统负责线程调度。
    • 此时,锁的获取和释放会涉及到操作系统级别的上下文切换,开销较大。

锁升级的过程是一个不可逆的过程,一旦升级到重量级锁,除非线程释放锁,否则不会降级。整个锁升级机制旨在平衡并发性能与资源消耗,确保在不同并发程度下都能提供相对高效的同步机制。

http://www.yayakq.cn/news/292724/

相关文章:

  • 蒙古文政务网站群建设工作方案好的做外贸的网站
  • 山西省财政厅门户网站三基建设海外域名服务商
  • 企业综合查询网站wordpress制作上传图片
  • 网站建设季度考核评价工作做网站属于什么专业
  • 新农村建设 网站wordpress mysql
  • 广州建站公司网站上海网站建设公公司
  • 电子商务网站建设(论文自建电梯费用
  • 网站定制建网站定制建设设2022千锋教育培训收费一览表
  • 往网站上传照片怎么做冠县品牌网站建设推广
  • 网站建设基础策划网站开发的心得与体会
  • 专业网站定制团队可以做兼职的网站有哪些工作室
  • 网站建设代码问卷调查wordpress 可爱主题
  • 网站建设交付形式如何微信小程序注册
  • 深圳的网站建设公司的分类是机械设计制造及其自动化圳建设网站
  • opencart做的网站中律之窗网站建设
  • 大航母网站建设怎么样怎么做好企业网站
  • 广东网站建设报价如何婚纱摄影行业网站建设
  • 网站开发用的那些语言帮企业建设网站销售
  • 做单页网站盈利案例怎么把百度放到网站上
  • 有一个网站自己做链接获取朋友位置网站建设推广机构
  • 建立簇状柱形图怎么设置seo免费优化
  • 电子商务网站设计中影响客户体验的元素有大连领超科技网站建设有限公司
  • 网站建设员的薪水江苏工程建设交易信息网站
  • 简述网站开发步骤建设科技处网站
  • 橙色 网站前端最难学的是哪部分
  • 求职网站建设方案ui设计到底是干嘛的
  • 号号网站开发新闻稿发布软文平台
  • 长春网站建设开发网站建设外包服务安全管理制度
  • 网站有收录没权重织梦后台发布了网站没显示
  • 编辑网站教程wordpress访问次数插件