zoukankan      html  css  js  c++  java
  • Java8-Synchronized-No.01

    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    import java.util.stream.IntStream;
    
    public class Synchronized1 {
    
        private static final int NUM_INCREMENTS = 10000;
    
        private static int count = 0;
    
        public static void main(String[] args) {
            testSyncIncrement();
            testNonSyncIncrement();
        }
    
        private static void testSyncIncrement() {
            count = 0;
    
            ExecutorService executor = Executors.newFixedThreadPool(2);
    
            IntStream.range(0, NUM_INCREMENTS)
                    .forEach(i -> executor.submit(Synchronized1::incrementSync));
    
            ConcurrentUtils.stop(executor);
    
            System.out.println("   Sync: " + count);
        }
    
        private static void testNonSyncIncrement() {
            count = 0;
    
            ExecutorService executor = Executors.newFixedThreadPool(2);
    
            IntStream.range(0, NUM_INCREMENTS)
                    .forEach(i -> executor.submit(Synchronized1::increment));
    
            ConcurrentUtils.stop(executor);
    
            System.out.println("NonSync: " + count);
        }
    
        private static synchronized void incrementSync() {
            count = count + 1;
        }
    
        private static void increment() {
            count = count + 1;
        }
    
    }
    
  • 相关阅读:
    Java应用程序的运行机制
    IO流——字符流
    IO流——字节流
    Java API --- File类
    SSM框架整合
    Mybatis核心组件
    AJAX 练习
    设计者模式
    软件七大设计原则
    并发编程
  • 原文地址:https://www.cnblogs.com/bilaisheng/p/10210904.html
Copyright © 2011-2022 走看看