zoukankan      html  css  js  c++  java
  • Java AtomicIntegerFieldUpdater 抽象类

    使用示例

    两个线程对 test 对象的 num 变量,分别进行加和减操作。

    import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
    
    public class Test {
        public volatile int num;
        private AtomicIntegerFieldUpdater<Test> updater = AtomicIntegerFieldUpdater
                                                         .newUpdater(Test.class, "num");
    
        public static void main(String[] args) throws Exception{
            Test test = new Test();
            Thread thread1 = new Thread(new Runnable() {
                @Override
                public void run() {
                    for (int i = 0; i < 100000; i++) {
                        test.updater.incrementAndGet(test);
                    }
                }
            });
            Thread thread2 = new Thread(new Runnable() {
                @Override
                public void run() {
                    for (int i = 0; i < 100000; i++) {
                        test.updater.decrementAndGet(test);
                    }
                }
            });
            thread1.start();
            thread2.start();
            Thread.sleep(10 * 1000);
            System.out.println("查看num的值,num=" + test.num); 
        }
    }
    
    结果:
    查看num的值,num=0
    
  • 相关阅读:
    Redis
    cut
    grep
    MySQL中EXPLAIN的解释
    MySQL数据类型
    有用的MySQL语句
    mysql函数
    memcache
    存储过程 游标的使用
    存储过程批量删除
  • 原文地址:https://www.cnblogs.com/feiqiangsheng/p/15262722.html
Copyright © 2011-2022 走看看