在多线程中,用synchronized关键字的时候
在使用带有这个关键字的方法的时候,如果有两个不同线程调用此方法
我想问下,如果实例化2个对象实例了,我想在同一时间可以被2个不同的线程调用了,因为,我的理解是,他们分别不同的实例的方法,应该没有同步问题,不知道我的理解是不是正确?

解决方案 »

  1.   

    正确,synchronized所使用的是对象锁,只对该对象起作用。
      

  2.   


    我觉得synchronized是影响对象实例,仅仅说对象,总让人误解,不知道大家可认可
      

  3.   

    synchronized 方法锁定的是当前对象  
    在多个线程中 同时 调用该对象的这个synchronized方法时就会发生同步了
    此时只有先获得该对象锁的时候才能够就如临界区   其他线程就要排队等待了
    挨个进入。。多个线程调用 不同对象的synchronized方法当然不存在同步了   锁定的是不同对象了比如 类 XX  有同步方法 xxoo()
                 XX两个实例对象  xo1  xo2
                 在两个线程中  一个 xo1.xxoo()  另外一个线程 x02.xxoo()
                 当然不同步    如果两个线程里同时有 xo1.xxoo()  那就要排队 xxoo()了
                不然会受不了的。。
      

  4.   

    是的没问题,如果是这样的话你就可以把Synchronized去掉了.