解决方案 »

  1.   

    有必要,就是在synchronized this的前提下还有同步竞争,比如说同一个对象里头还有东西要做竞争。
      

  2.   

    synchronized 的锁 是this 很明显 你的threadLock  不是this    同步的其他可能破坏数据的线程
      

  3.   

    必须有必要啊。  锁的不是2个东西么?
    假设这个类里还有一个方法:
    public void anotherDeal(){
             
            ...
             
            synchronized (threadLock) {
                .....
            }
        }
    这样就需要了
      

  4.   

    1. 首先,这是两个完全不同的锁。同步方法锁的是 this,即Demo对像;同步块里,是另一个ThreadLock。
    2. 搞清楚了上面这一点,那么,有没有必要就是你业务逻辑上的事情了。这里的人,都没有办法给你一个准确的答案。