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);
    }
    }
    });

  • 相关阅读:
    算法与数据结构(二):队列
    算法与数据结构(二):链表
    算法与数据结构(一):时间复杂度与空间复杂度
    2018总结与2019规划
    VC++ IPv6的支持
    从项目中学习HTML+CSS
    xampp 中 mysql的相关配置
    yum卸载遇到的问题--待解决
    RHEL 6.5----heartbeat
    RHEL 6.5-----MFS
  • 原文地址:https://www.cnblogs.com/muliu/p/6485549.html
Copyright © 2011-2022 走看看