synchronized()是否 不同进程间同步某个静态变量?

解决方案 »

  1.   

    synchronized关键字可以用在method和Object上
    作用当然是获得锁,防止多线程同时操作一个方法或对象。
    静态变量只是其中一部分,任何线程共享的数据的访问都应该被设计为线程安全的
    java虚拟机中"方法区"和"堆"都是线程共享的
    而静态变量则是存放在"方法区"中的
      

  2.   

    是  synchronized(_mrDelay0)
      

  3.   

    synchronized() 是对方法和对象进行加锁的操作;
    对一个对象进行加锁时,对象中的属性也被锁住,
    举个例子吧
    多个线程同时运行,他们要访问同一个变量t,其初始值为10,他们要做的动作都是将t-10;
    第一个线程拿到t的值后,第二个线程也去拿这个t
    注意,线程一的动作是t-10,但是由于这个动作还没有做,线程二已经将t的值取走,所以线程二取到的t的值还是10,基于这个原因,才引入了synchronized() 。