zoukankan      html  css  js  c++  java
  • java线程池

    大神文章:https://www.jianshu.com/p/50fffbf21b39  ;

    总结:
    为了提高并行处理能力,或者想异步处理问题,可以使用线程池;
    线程池减少了线程的创建,但是原先创建的线程会被新加入的任务重新赋值线程变量;

    示例:
     
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Future;
    import java.util.concurrent.LinkedBlockingQueue;
    import java.util.concurrent.ThreadFactory;
    import java.util.concurrent.ThreadPoolExecutor;
    import java.util.concurrent.TimeUnit;
     
    import com.google.common.util.concurrent.ThreadFactoryBuilder;
    ///////添加任务
        private static ExecutorService rnrThreadPool = new ThreadPoolExecutor(2, 100,
            60L, TimeUnit.MILLISECONDS,
            new LinkedBlockingQueue<Runnable>(20), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
        
        
        public static void main(String[] args) {
         for(int i= 0; i< 100; i++) {
         if(i<2) {
         rnrThreadPool.submit(new RnrCallbackThread2(""+i, false));
         }else{
         rnrThreadPool.submit(new RnrCallbackThread2(""+i, true));
         }
         }
         }
    ////////任务体
    package com.svw.mos.mno.vo.thread;
     
    import java.util.Map;
    import java.util.concurrent.Callable;
     
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
     
    /**
     * 线程处理如下任务: 1,同步状态到核心层,2,获取基础厂包 3,查车型,设置车型 4,到核心基础场包下单
     */
    public class RnrCallbackThread2 implements Callable<Map<String, String>> {
    private static final Logger LOGGER = LoggerFactory.getLogger(RnrCallbackThread2.class);
    private String reqId;
    private boolean isSuccessRnr;
     
     
    public RnrCallbackThread2(String reqId, boolean isSuccessRnr) {
    this.reqId = reqId;
    this.isSuccessRnr = isSuccessRnr;
     
    }
     
    @Override
    public Map<String, String> call() throws Exception {
    Thread.sleep(2000l);
    LOGGER.info("threadName:{},reqId:{},issuccess:{}", Thread.currentThread().getName(), reqId, isSuccessRnr);
    return null;
    }
     
    }
     
  • 相关阅读:
    用Python打造一款文件搜索工具,所有功能自己定义!
    Python+Excel+Word一秒制作百份合同
    只需6行代码,Python将PPT转为Word!
    老板让我从几百个Excel中查找数据,我用Python一分钟搞定!
    爬虫遇到头疼的验证码?Python实战讲解弹窗处理和验证码识别
    SoftEther服务端配置
    SoftEther服务端安装
    nginx学习
    zookeeper安装
    prometheus监控之自动发现
  • 原文地址:https://www.cnblogs.com/bigjor/p/11759852.html
Copyright © 2011-2022 走看看