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

来源:4-3 Java线程交互之互斥与同步:守恒的能量

罗曼零

2015-11-27 15:22

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


写回答 关注

1回答

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

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

    mmotiy

    能不能再解释的清楚一些

    2016-03-04 16:50:47

    共 2 条回复 >

深入浅出Java多线程

带你一起深入浅出多线程,掌握基础,展望进阶路线

186088 学习 · 464 问题

查看课程

相似问题