• 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;
    }
     
    }
     
  • 相关阅读:
    经典数组排序方法------快速排序法
    经典数组排序方法------选择排序法,冒泡排序法
    两个非常好的bootstrap模板,外送大话设计模式!
    商场促销-策略模式(和简单工厂模式很像的哇) C#
    代码无错就是优?简单工厂模式 C#
    大话设计模式(C#)
    马加爵遗书 VS 药家鑫遗书
    GIT 常用命令
    Random快速产生相同随机数的原因及解决方案
    JSON WEB TOKEN,简单谈谈TOKEN的使用及在C#中的实现
  • 原文地址:https://www.cnblogs.com/bigjor/p/11759852.html
Copyright © 2020-2023  润新知