java的原子变量类似c++的InterlockedDecrement()操作。其实就是在进行算术时,把整个算式看为一个整体,并且保证同一时间只计算该式子一次。

  它的用途比如,多个线程可能会调用某个函数。但是现在只希望它被调用一次后就不被调用了。此时就可以用原子变量来控制,它比对整个方法加锁更加高效。

  1、private AtomicInteger account = new AtomicInteger(1);    //声明

  2、private void fun()

    {

    if(m_nStopCount.decrementAndGet()==0)
    {
      //只有第一次执行。
    }

    }