zoukankan      html  css  js  c++  java
  • Java ConcurrentHashMap (Java代码实战-005)

    package Threads;
    
    import com.google.common.collect.Maps;
    
    import java.util.concurrent.ConcurrentMap;
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    
    /**
     * Created by xfyou 2018/5/21 16:55.
     * 一个采用ConcurrentHashMap并发写数据的例子
     */
    public class ConcurrentHashMapDemo {
        private final ConcurrentMap<Integer, String> conHashMap = Maps.newConcurrentMap();
    
        public static void main(String[] args) {
            ExecutorService service = Executors.newFixedThreadPool(3);
            try {
                ConcurrentHashMapDemo ob = new ConcurrentHashMapDemo();
                service.execute(ob.new WriteThreadOne());
                service.execute(ob.new WriteThreadTwo());
                service.execute(ob.new ReadThread());
            } finally {
                service.shutdown();
            }
        }
    
        /**
         * 线程A向Map中put数据
         */
        class WriteThreadOne implements Runnable {
    
            @Override
            public void run() {
                for (int i = 0; i < 10; i++) {
                    conHashMap.putIfAbsent(i, "A" + i);
                }
            }
        }
    
        /**
         * 线程B向Map中put数据
         */
        class WriteThreadTwo implements Runnable {
    
            @Override
            public void run() {
                for (int i = 0; i < 5; i++) {
                    conHashMap.putIfAbsent(i, "B" + i);
                }
            }
        }
    
        /**
         * 线程C读取Map中的数据
         */
        class ReadThread implements Runnable {
    
            @Override
            public void run() {
                for (Integer k : conHashMap.keySet()) {
                    System.out.println(k + ":" + conHashMap.get(k));
                }
            }
        }
    }
  • 相关阅读:
    install cygwin
    Case When PK PIVOT
    SQL Server 2012 Features
    XMLHttpRequest 使用概括
    Html DOM 常用属性和方法
    Rewrite Path in Asp.Net MVC Project
    cefsharp
    线程
    ftp 相关知识集合
    数据库知识集合
  • 原文地址:https://www.cnblogs.com/frankyou/p/9068324.html
Copyright © 2011-2022 走看看