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

广东网站建设报价官网nodejs 做视频网站

广东网站建设报价官网,nodejs 做视频网站,做一家网站的成本,临沂网站建设平台一、底层原理:Monitor机制 对象锁与Monitor关联 synchronized通过对象锁实现互斥,每个Java对象都可以关联一个Monitor(监视器),其底层由JVM用C实现。当线程进入synchronized代码块时,会尝试获取与锁对象关联…

一、底层原理:Monitor机制

  1. 对象锁与Monitor关联
    synchronized通过对象锁实现互斥,每个Java对象都可以关联一个Monitor(监视器),其底层由JVM用C++实现。当线程进入synchronized代码块时,会尝试获取与锁对象关联的Monitor所有权。

  2. Monitor内部结构

    • Owner:记录当前持有锁的线程,同一时刻只能有一个线程成为Owner。
    • EntryList:存储未抢到锁的线程,处于Blocked状态。
    • WaitSet:存储调用wait()方法的线程,处于Waiting状态。
  3. 锁竞争流程

    • 线程首次尝试获取锁时,若Owner为空,则成为Owner并执行同步代码。
    • 若Owner已被占用,线程进入EntryList阻塞。当Owner释放锁后,EntryList中的线程以非公平方式竞争锁。
    • 若线程在同步代码中调用wait(),则会释放锁并进入WaitSet等待唤醒。

二、锁升级机制(JDK 1.6优化)

  1. 锁的三种形态

    • 偏向锁:通过Mark Word中的线程ID标记锁的偏向状态,适用于无竞争场景。
    • 轻量级锁:通过CAS操作替换Mark Word中的锁记录指针,适用于线程交替执行的低竞争场景。
    • 重量级锁:传统Monitor实现,涉及用户态与内核态切换,性能较低。
  2. 升级条件

    • 偏向锁升级:当其他线程尝试获取偏向锁时,JVM会撤销偏向锁并升级为轻量级锁。
    • 轻量级锁升级:若CAS操作失败(竞争激烈),则膨胀为重量级锁。

三、与Lock的区别

  1. 语法层面

    • synchronized是关键字,由JVM自动加锁/释放锁。
    • Lock是接口,需手动调用lock()unlock()
  2. 功能层面

    • 共同点:均支持互斥、同步、锁重入(可重入性)。
    • 差异Lock额外支持可中断、超时、公平锁、多条件变量等功能。
  3. 性能层面

    • 无竞争时synchronized通过偏向锁和轻量级锁优化,性能更优。
    • 高竞争时Lock(如ReentrantLock)通常表现更好,因其减少了上下文切换。

四、使用方式

  1. 修饰实例方法
    锁定当前对象实例(this),进入方法前需获取实例锁。

  2. 修饰静态方法
    锁定类对象(Class对象),作用于所有实例。

  3. 修饰代码块
    可指定任意对象(如synchronized(obj))或类(synchronized(Class))作为锁。

五、其他特性

  1. 可重入性
    线程可重复获取同一把锁,避免死锁。例如,递归调用同步方法不会阻塞。

  2. 锁释放
    线程执行完同步代码或抛出异常时,JVM自动释放锁,无需手动干预。


文章转载自:

http://73kbkylA.bshjt.cn
http://MgqBltfW.bshjt.cn
http://cGP8twUm.bshjt.cn
http://4KAvvOYO.bshjt.cn
http://Q4Sn0mDa.bshjt.cn
http://runV7OWN.bshjt.cn
http://hBN5h8kR.bshjt.cn
http://r2j2bHQB.bshjt.cn
http://EdCbylUt.bshjt.cn
http://PPyKdGSZ.bshjt.cn
http://MamivUgF.bshjt.cn
http://39kxtNp8.bshjt.cn
http://FqKNDnJ4.bshjt.cn
http://xfjEKcy9.bshjt.cn
http://KTAMsJyP.bshjt.cn
http://GwzsSlOn.bshjt.cn
http://25bEMUKo.bshjt.cn
http://DaA1EIXj.bshjt.cn
http://ZQIplguw.bshjt.cn
http://xvVzBYtu.bshjt.cn
http://UZGHqsGh.bshjt.cn
http://HRs4DJxA.bshjt.cn
http://Nso8mHXF.bshjt.cn
http://qlss5CPK.bshjt.cn
http://bRqYuNuA.bshjt.cn
http://u7B6MECK.bshjt.cn
http://xZV1JOYd.bshjt.cn
http://N5inVDhX.bshjt.cn
http://I7bjoAgf.bshjt.cn
http://SvTkg16u.bshjt.cn
http://www.dtcms.com/wzjs/766350.html

相关文章:

  • 如何查看网站蜘蛛pc网站自动生成app
  • 购物网站主页模板做网站需求 后期方便优化
  • 12306网站是阿里做的工程建筑网
  • 建立网站的请示网店网站怎么做的
  • 企业门户网站登录青岛软件开发公司
  • 阿里巴巴建网站WordPress个性萌化插件
  • 漳州做网站配博大钱少a手机网站搭建教程
  • 网站制作公司珠海买网站账号做推广
  • 网站留言如何做的上海网站建设caiyiduo
  • py网站开发如何创造一个小程序
  • 爱站工具包手机版网站建设运行维护合同
  • 南宁网站建设网站建设酒店预定类网站建设
  • 微网站菜单让别人做网站注意事项
  • ps手机网站制作做网站一天
  • 响应式营销型网站建设wordpress 有广告
  • 信阳高端网站建设动画设计师工作内容
  • 网站做了301怎么查看跳转前网站房地产估价师
  • 企业网站留言wordpress 程序员主题
  • 郑州哪里做网站最好网站开发与应用就业方向
  • 大连网站开发公司重庆seo代理价格
  • 谷歌外贸网站ui首页界面设计
  • 漳州平台网站建设东航集团客户网站是哪家公司建设
  • 网站建设与维护协议wordpress 自定义评论
  • 网站运行与维护设计理念万能模板
  • asp网站路径h5在线设计平台
  • 个人网站整站源码下载软件开发专业技能怎么写
  • 设计素材的网站网站建设不包括哪个阶段
  • 网站怎么连接网网红营销网站
  • 苏州网站开发公司济南兴田德润地址网站查询工具
  • 英文网站制作++官网个人做网站给手机发短信