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

帮企网站建设深圳专业画册设计公司

帮企网站建设,深圳专业画册设计公司,网络解决方案公司,wordpress文章评论不显示偏向锁当锁对象第一次被线程获取时#xff0c;虚拟机会把对象头的锁状态标志设置为01(即偏向状态)#xff0c;同时#xff0c;使用CAS操作把获取到这个锁的线程的ID记录在对象头的mark word中。如果这个CAS操作成功#xff0c;那么#xff0c;以后持有这个偏向锁的线程在进…偏向锁当锁对象第一次被线程获取时虚拟机会把对象头的锁状态标志设置为01(即偏向状态)同时使用CAS操作把获取到这个锁的线程的ID记录在对象头的mark word中。如果这个CAS操作成功那么以后持有这个偏向锁的线程在进入这个锁相关的同步块的时候都不需要进行同步只需要测试对象头的mark word中是否存储着当前线程的ID。若测试成功则直接进入同步块。若测试失败则需要测试mark word中锁状态标志位是否为01。若不为01(即表示对象此时处于轻量级/重量级锁状态)则使用CAS操作竞争锁。若为01(即01表示对象此时处于已偏向状态)则尝试使用CAS将对象头的偏向线程ID改为当前线程ID。此处着重讨论mark word中锁状态标志位为01的情况由于偏向锁采用了一种等到竞争出现才会释放锁的机制(即偏向锁不会主动释放)所以当前线程就会知道锁对象此时(可能)处于竞争状态了。(在全局安全点――没有正在执行的字节码)JVM会首先暂停持有偏向锁的线程然后检查拥有偏向锁的线程是否存活。若没有存活则将对象头设置为无锁状态并重新偏向。若线程仍然存活则持有偏向锁的栈会被执行遍历偏向锁的锁记录、栈中的锁记录以及对象头的mark word(就是检查持有偏向锁的线程是否还需要持有偏向锁)。若检查结果表明该持有偏向锁的线程不需要持有偏向锁了则将锁对象恢复为无锁状态并重新偏向。否则表明此时锁对象真的处于竞争状态了那么偏向锁就会被升级成轻量级锁。注意当锁对象开启偏向时mark word中有一个比特位将会被置为1所以偏向状态和未锁定状态除了其他字段的区别外在这个比特位上也有区别。轻量级锁在代码进入同步块的时候如果此同步对象没有被锁定即锁标志位为01那么JVM会先在当前线程的栈帧中创建一个存储锁对象头中Mark Word拷贝的空间(称为锁记录)同时将锁对象头中的Mark Word复制到锁记录中并加上Displaced前缀(Displaced Mark Word)。然后JVM使用CAS将锁对象头中的Mark Word更新为指向锁记录的指针。若更新成功则当前线程便持有了该对象的锁并且锁对象的标志位变为00(表示此对象处于轻量级锁定状态)。若更新操作失败了虚拟机会首先检查对象的Mark Word是否指向当前线程的栈帧如果是则表明当前线程已经拥有了这个对象的锁可以直接进入同步块继续执行。如果不是则当前线程进入自旋(个人见解不当之处欢迎指正)则会有两种情况会膨胀为重量级锁 当前线程自旋期间有第三个线程来获取锁则膨胀为重量级锁标志位被当前线程置为10Mark Word中存储的就是指向重量级锁(互斥量)的指针当前线程和第三个线程进入阻塞状态当前线程自旋超过限定次数则膨胀为重量级锁标志位被当前线程置为10Mark Word中存储的就是指向重量级锁(互斥量)的指针当前线程进入阻塞状态。如果当前线程自旋的时候没有发生上面两种情况那么最终它将获得锁对象的轻量级锁。轻量级锁的解锁也是通过CAS操作进行的如果对象的Mark Word仍指向线程的锁记录那么就用CAS把对象当前的Mark Word和线程中的Displaced Mark Word替换回来。若替换成功则整个同步过程完成若替换失败则表明有其他线程竞争过锁就要在释放锁的同时唤醒被挂起的线程。参考文献1、《深入理解Java虚拟机》周志明著2、《Java并发编程的艺术》方腾飞魏鹏程晓明著
http://www.sadfv.cn/news/233313/

相关文章:

  • 网站建设 交易保障在哪里做马可波罗网站
  • asp.net网站开发简明教程品牌建设工作实施方案
  • 网站开发新技术探索建设网站的个人心得
  • 网站上上传图片 怎么做wordpress清新Minty主题v4
  • 创建网站公司好深圳网站设计收费
  • 个人性质网站能做论坛吗dm网站制作软件
  • wordpress 主题 mnewsseo建站优化推广
  • 制作企业网站的实训报告哪家公司做推广优化好
  • 百度搜索榜单茂名网站优化
  • 怎么做刷网站流量生意人力资源六大模块
  • 网站建设优化去哪学成都学网站建设费用
  • asp做网站策划书技术支持 创思佳网站建设
  • 小程序开发平台需要网站吗阳江网红景点
  • 门户网站和部门网站的区别网站做多个语言有什么好处
  • 合肥做网站yuanmus产品推广方式有哪些
  • 大唐工作室 网站制作网站上传格式
  • 如何做地方网站网站地图怎么做、
  • 做悬赏的网站宝塔Linux面板清理建设的网站
  • 网站开发课程教学目标seo概念
  • 公积金网站怎么做增员网站页面优化方法有哪些内容
  • 摄影作品网站或appseo技术培训岳阳
  • 阳城做网站门户app网站建设多少钱
  • 网站制作费用低wordpress开发公司
  • 爱站网反链分析百度 wordpress
  • 不让网站开发公司进入后台北海购物网站开发设计
  • 宿迁网站建设与管理如何创建网站的详细步骤
  • 网站建设群发广告词手表网站
  • 简述网站建设的方案南通制作企业网站
  • 网站自主制作平台软件开发成本估算表
  • 荣茂网站建设中卫网站推广软件