美文网首页
12. 内部锁:synchronized关键字

12. 内部锁:synchronized关键字

作者: TheMrBigHead | 来源:发表于2018-12-11 11:15 被阅读0次

    Java平台中的任何一个对象都有唯一一个与之关联的锁。这种锁被称为监视器(Monitor)或内部锁(Intrinsic Lock)。

    内部锁是一种排他锁,能够保障原子性、可见性和有序性。

    内部锁是通过synchronized关键字实现的

    原理
    image.png
    同步方法

    synchronized关键字修饰的方法。

    // 实例方法
    synchronized void aa() {
    ...
    }
    
    // 静态方法
    static synchronized void bb() {
    ...
    }
    
    同步代码块

    synchronized关键字修饰的代码块

    synchronized(锁句柄) {
    ...
    }
    
    锁句柄

    锁句柄是一个对象的引用(或者能够返回对象的表达式)

    内部锁的使用并不会导致锁泄漏

    临界区的代码即时抛出异常,也不会阻止内部锁的释放

    内部锁的调度
    image.png

    相关文章

      网友评论

          本文标题:12. 内部锁:synchronized关键字

          本文链接:https://www.haomeiwen.com/subject/ywzrhqtx.html