美文网首页
可重入锁

可重入锁

作者: 好奇害死猫o | 来源:发表于2018-12-23 14:13 被阅读0次

一个同步方法可以调用另一个同步方法,一个线程已经拥有了某个对象的锁,再次申请 的时候依然会得到这个对象的锁。synchronized的锁就是可重入锁,存在一种情况,子类调用父类的同步方法。

import java.util.concurrent.TimeUnit;

public class T {
    synchronized void m() {
        System.out.println("m start");
        try {
            TimeUnit.SECONDS.sleep(1);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("m end");
    }
    
    public static void main(String[] args) {
        new TT().m();
    }
    
}

class TT extends T {
    @Override
    synchronized void m() {
        System.out.println("child m start");
        super.m();
        System.out.println("child m end");
    }
}


运行结果如下

child m start
m start
m end
child m end

相关文章

  • ReentrantLock 源码分析

    锁的基本概念 可重入锁 Reentrant 就是可重入的意思,如果锁具备可重入性,则称作为可重入锁。像synchr...

  • java可重入锁

    可重入概念: java的可重入锁: 可重入锁的一种实现方式: 可重入锁的两种使用例子: 例子1: 例子2: 例子1...

  • Java 可重入锁 公平锁 读写锁

    1.可重入锁 如果锁具备可重入性,则称作为可重入锁。 像synchronized和ReentrantLock都是可...

  • Java中的各种锁

    一个线程中的多个流程能不能获取同一把锁:可重入锁和非可重入锁 可重入锁 可重入性:表明了锁的分配机制,是基于线程的...

  • 可重入锁和非可重入锁

    1 可重入锁 (ReentrantLock和synchronized)可重入锁指的是可重复可递归调用的锁,在外层使...

  • J.U.C-AQS-ReentrantLock

    ReentrantLock(可重入锁)和synchronized区别 可重入性 锁的实现(ReentrantLoc...

  • Java温故而知新之Lock与Synchronized

    两者比较: 相关概念解析 可重入锁如果锁具备可重入性,则称作为可重入锁。假设方法A需要获取锁,方法B也需要获取锁,...

  • 可重入锁-面试题:synchronized是可重入锁吗?

    前言 面试题:synchronized是可重入锁吗? 答案:synchronized是可重入锁。Reentrant...

  • 可重入锁-synchronized是可重入锁吗?Reentran

    前言 面试题:synchronized是可重入锁吗? 答案:synchronized是可重入锁。Reentrant...

  • 各种锁的概念

    锁的概念 可重入不可重入公平锁非公平锁锁中断通过一个故事理解可重入锁的机制 - 小勇DW3 - 博客园[https...

网友评论

      本文标题:可重入锁

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