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));
                }
            }
        }
    }
  • 相关阅读:
    Spring Boot 中加载XML配置
    C#winfrom打开指定的文件
    C#怎么实现文件下载功能的四种方法
    C#查看已下载文件大小和扩展名
    C#winfrom文件下载到本地
    判断DataGridView是否选中某行
    Secure CRT注册码
    http-server 开启服
    学习网址
    angular中table表格组件的使用
  • 原文地址:https://www.cnblogs.com/frankyou/p/9068324.html
Copyright © 2011-2022 走看看