美文网首页
可重入锁

可重入锁

作者: 好奇害死猫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
    

    相关文章

      网友评论

          本文标题:可重入锁

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