zoukankan      html  css  js  c++  java
  • java多线程之AtomicInteger

    AtomicInteger原子操作实现同步

    package Thread.Common;
    
    import java.util.Timer;
    import java.util.TimerTask;
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    import java.util.concurrent.atomic.AtomicInteger;
    
    public class AtomicIntegerTest implements Runnable {
    
        private AtomicInteger i = new AtomicInteger(0);
    
        public int getValue() {
            return i.get();
        }
    
        private void evenIncrement() {
            i.addAndGet(2);
        }
    
        @Override
        public void run() {
            while (true) {
                evenIncrement();
            }
        }
    
        public static void main(String[] args) {
         //定时执行任务
    new Timer().schedule(new TimerTask() { @Override public void run() { System.err.println("Aborting"); System.exit(0); } }, 5000); ExecutorService exec = Executors.newCachedThreadPool(); AtomicIntegerTest ait = new AtomicIntegerTest(); exec.execute(ait); while (true) { int val = ait.getValue(); if (val % 2 != 0) { System.out.println(val); System.exit(0); } } } }
  • 相关阅读:
    简单对拍
    搜索感想
    L1434滑雪
    记忆化搜索
    L3956棋盘
    USACO 数字三角形
    枚举顺序
    蓝桥计算
    用户态和内核态IO过程
    Mybatis的结果集中的Do要不要有setter
  • 原文地址:https://www.cnblogs.com/zhuawang/p/3754157.html
Copyright © 2011-2022 走看看