zoukankan      html  css  js  c++  java
  • 线程池的常用接口

    //Executor 顶级接口
    //ExecutorService/ThreadPoolExecutor
    //ScheduledExecutorService/ScheduledThreadPoolExecutor
    //Executors 线程池的静态工厂
    /*ExecutorService ex = Executors.newSingleThreadExecutor();
    Thread t1 = new MyThread();
    Thread t2 = new MyThread();
    Thread t3 = new MyThread();
    Thread t4 = new MyThread();
    Thread t5 = new MyThread();
    ex.execute(t1);
    ex.execute(t2);
    ex.execute(t3);
    ex.execute(t4);
    ex.execute(t5);
    //关闭线程池
    ex.shutdown();*/

    举例:

    package com.vcredit.framework.utils;

    import java.util.concurrent.ArrayBlockingQueue;
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.ThreadPoolExecutor;
    import java.util.concurrent.TimeUnit;

    public class ThreadUtils {
    /**
    * 线程池
    */
    private static final ExecutorService es = new ThreadPoolExecutor(10, 15, 1000, TimeUnit.SECONDS,
    new ArrayBlockingQueue<Runnable>(1000),
    new ThreadPoolExecutor.CallerRunsPolicy());

    /**
    * 异步执行
    *
    * @param runnable
    */
    public static void async(Runnable runnable) {
    es.execute(runnable);
    }
    }

    //启用线程异步执行:

    ThreadUtils.async(new Runnable() {
    @Override
    public void run() {
    try {
    //手机详单成功后,调用决策系统
    if(null !=newOrOld && "0".equals(newOrOld)){
    decisionHelper.decisionOfOld(decisionParam, false);
    }else{
    decisionHelper.decisionOfNew(decisionParam, false);
    }
    } catch (Exception e) {
    logger.error("decision fail", e);
    }
    }
    });

  • 相关阅读:
    C# SuperWebSocket服务端学习(二)
    C# SuperSocket服务端入门(一)
    C# SuperWebSocket服务端、客户端学习(三)
    皮尔逊相关系数和余弦相似性的关系
    各种定向方式的对比-有图
    查看Linux的CPU信息,核数等
    临时表空间
    优化临时表使用,SQL语句性能提升100倍
    Java中线程池的学习
    android面试题之六
  • 原文地址:https://www.cnblogs.com/muliu/p/6485549.html
Copyright © 2011-2022 走看看