问答详情
源自:4-3 Java线程交互之互斥与同步:守恒的能量

synchronzied中为什么不使用synchronzied(this)呢?

Object lock = new Object();
synchronized(lock) {} 和 synchronized(this) {} 这两者的区别


提问者:罗曼零 2015-11-27 15:22

个回答

  • 风拔萝卜
    2015-11-27 21:25:59
    已采纳

    这个要分情况的。如果你是用的实现Runnable类的方式的话可以直接使用this,而如果是使用继承Thread的方式时就不要使用this,因为此时this指向不同对象,这样每个线程都拥有自己的锁,无法实现同步