zoukankan      html  css  js  c++  java
  • 创建一个线程池(java)

    private ThreadFactory threadFactory = new ThreadFactoryBuilder().setNameFormat("billService-pool-%d").build();
    private final ExecutorService pool = new ThreadPoolExecutor(20, 20,0L, TimeUnit.MILLISECONDS,new LinkedBlockingQueue<Runnable>(512),threadFactory);

    //解析实例:

    final CountDownLatch countDownLatch = new CountDownLatch(billUploadHistory.size());//线程统计
                    for (BillUpload billUpload : billUploadHistory) {
                        pool.execute(new Runnable() {
                            @Override
                            public void run() {
                                PaybillParser parseService = null;
                                if (EnumTypeOfInt.PAY_CHANNEL_WECHAT.getValue().equals(billUpload.getPayChannel())) {
                                    parseService = new WeixinPaybillParser(billUpload, logId);
                                } else if (EnumTypeOfInt.PAY_CHANNEL_ALIPAY.getValue().equals(billUpload.getPayChannel())) {
                                    parseService = new AliPaybillParser(billUpload, logId);
                                }
                                if (parseService != null) {
                                    try {
                                        parseService.parse();
                                    } catch (Exception e) {
                                        e.printStackTrace();
                                    } finally {
                                        countDownLatch.countDown();//线程减1
                                    }
                                }
                            }
                        });
                    }
                    try {
                        countDownLatch.await();//阻塞直到计数器为0
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
  • 相关阅读:
    圣杯布局(定宽与自适应)
    【转载】jQuery插件开发精品教程,让你的jQuery提升一个台阶
    DOM 事件深入浅出(一)
    匿名类型
    类和结构
    C#预处理器指令
    Main()方法
    枚举
    预定义数据类型
    C#语言
  • 原文地址:https://www.cnblogs.com/xwjBlog/p/9208238.html
Copyright © 2011-2022 走看看