zoukankan      html  css  js  c++  java
  • 并发时候的测试程序

    package concurrency;
    
    import java.util.concurrent.atomic.AtomicReference;
    
    public class TestConcurrency {
    
        private static volatile Integer         num1 = 0;
        private static Integer         num2 = 0;
        private static AtomicReference<Integer> ar   = new AtomicReference<Integer>(num1);
    
        public static void dfasd111() throws InterruptedException {
            for (int i = 0; i < 1000; i++) {
                new Thread(new Runnable() {
    
                    public void run() {
                        for (int i = 0; i < 10000; i++)
                            while (true) {
                                Integer temp = ar.get();
                                if (ar.compareAndSet(temp, temp + 1)) break;
                            }
                    }
                }).start();
            }
            Thread.sleep(10000);
            System.out.println(ar.get()); // 10000000
        }
    
        public static void dfasd1112() throws InterruptedException {
            for (int i = 0; i < 1000; i++) {
                new Thread(new Runnable() {
    
                    public void run() {
                        for (int i = 0; i < 10000; i++) {
                            num1 = num1++;
                        }
                    }
                }).start();
            }
            Thread.sleep(10000);
            System.out.println(num1); // something like 238981
        }
    
        public static void funnum2() throws InterruptedException {
            for (int i = 0; i < 1000; i++) {
                new Thread(new Runnable() {
    
                    public void run() {
                        for (int i = 0; i < 10000; i++) {
                            num2 = num2++;
                        }
                    }
                }).start();
            }
            Thread.sleep(10000);
            System.out.println(num2); // something like 238981
        }
        
        public static void main(String[] args) {
    
            try {
               // dfasd111();
                //dfasd1112();
                funnum2();
            } catch (InterruptedException e) {
                
                // TODO Auto-generated catch block e.printStackTrace();
                
            }
    
        }
    
    }
  • 相关阅读:
    性能测试总结(一)测试流程
    WSDL入门
    Python中的while循环和for循环
    python中的变量
    吴恩达《机器学习》章节2单变量线性回归
    吴恩达《机器学习》章节1绪论:初识机器学习
    新式类多继承的查找顺序
    python2x和python3x的一些区别
    类方法和静态方法
    @property的使用
  • 原文地址:https://www.cnblogs.com/huhuuu/p/6204044.html
Copyright © 2011-2022 走看看