weixin_37867528 2017-04-08 05:08 采纳率: 0%
浏览 840
已采纳

这段话怎么理解。。。。。。。

Java同步问题,这段话怎么理解同步方法的锁对象是什么呢?this对象

如果是静态方法,同步方法的锁对象又是什么呢?该类的字节码文件(类的class文件)

那么,我们到底使用同步方法还是同步代码块?

如果锁对象是this,就可以考虑使用同步方法。否则能使用同步代码块的尽量使用同步代码块。

  • 写回答

1条回答 默认 最新

  • yuyubingMan 2017-04-08 05:44
    关注

    1、方法的锁对象是什么呢?-----当前对象,也就是this对象锁
    2、如果是静态方法,同步方法的锁对象又是什么呢?该类的字节码文件(类的class文件)----静态方法也叫类方法,所以在上面的锁是类,而不是对象,
    可以理解为XX.class
    3、如果锁对象是this,就可以考虑使用同步方法。否则能使用同步代码块的尽量使用同步代码块。-------锁的话是违背多线程初衷的,但是有时候我们不得不
    对某些资源进行同步保护,但是这个保护应该是最小原则,不能说某一个房间只能一个个进,你就把整栋楼封了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?