abc45628 2017-11-27 07:04 采纳率: 100%
浏览 998
已采纳

同步代码调用非同步代码,被调用的代码会被加锁吗

下面的B()会被加锁吗

    public void A() {
        synchronized (this) {
            b();
        }
    }

    public void b() {
        System.out.println("do B()");
    }

又或者

    public synchronized void A() {
        b();
    }

    public void b() {
        System.out.println("do B()");
    }
  • 写回答

2条回答 默认 最新

  • oyljerry 2017-11-27 07:46
    关注

    如果都是通过A的方法来调用b,那么b就会有同步,否则,如果直接调用b,那么它就不会被加锁

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?