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