编程语言
首页 > 编程语言> > java – 静态同步方法与非静态同步方法

java – 静态同步方法与非静态同步方法

作者:互联网

我上课了

class Foo{

    static synchronized get(){}
    synchronized() getMore(){}
}

我有2个对象Foo.get()和f.getMore()在2个不同的线程t1和t2中运行.我有一个dobuts是否当线程t1在类上有锁时,线程t2可以访问方法getMore,或者因为类对象被t1锁定而无法获取访问权限和锁定方法.

解决方法:

静态方法将在Class对象上进行同步,而不是实例对象.您有2个锁在两个不同的对象上运行.在上面的场景中,将没有阻止行为.

标签:java,static,synchronized,non-static
来源: https://codeday.me/bug/20190725/1536109.html