java线程池ThreadPoolExecutor

/*最小存活线程数*/
        int corePoolSize = 10;
        /*最大存活线程数*/
        int maximumPoolSize = 50;
        /*线程最大空闲时间*/
        long keepAliveTime = 6000;
        /*毫秒*/
        TimeUnit unit = TimeUnit.MILLISECONDS;
        /*秒*/
        TimeUnit unit1 = TimeUnit.SECONDS;
        /*基于双链表实现的阻塞队列*/
        BlockingQueue<Runnable> workQueue = new LinkedBlockingDeque<Runnable>();
        /*基于数组实现的阻塞队列*/
        BlockingQueue<Runnable> workQueue1 = new ArrayBlockingQueue<Runnable>(100);
        /*基于单链表实现的阻塞队列*/
        BlockingQueue<Runnable> workQueue2 = new LinkedBlockingQueue<>();
        /*线程创建工厂*/
        ThreadFactory defaultThreadFactory = Executors.defaultThreadFactory();
        ThreadFactory privilegedThreadFactory = Executors.privilegedThreadFactory();
        /*拒绝执行策略*/
        /*丢弃任务抛出RejectedExecutionException异常*/
        RejectedExecutionHandler abortPolicy = new ThreadPoolExecutor.AbortPolicy();
        /*由调用线程处理该任务*/
        RejectedExecutionHandler callerRunsPolicy = new ThreadPoolExecutor.CallerRunsPolicy();
        /*丢弃队列头部的任务,重新尝试执行任务*/
        RejectedExecutionHandler discardOldestPolicy = new ThreadPoolExecutor.DiscardOldestPolicy();
        /*丢弃任务,不抛异常*/
        RejectedExecutionHandler discardPolicy = new ThreadPoolExecutor.DiscardPolicy();

        /*
        * 线程池的执行过程:
        * 1.当前存活线程数小于最小存活线程数时,创建新的线程执行任务。
        * 2.当前存活线程数大于等于最小存活线程数时,且任务队列未满时,将任务放入等待队列。
        * 3.当前存活线程数大于等于最小存活线程数时,且任务队列已满时:
        * (1)如果存活线程数小于最大存活线程数,创建新的线程执行任务。
        * (2)如果存活线程数等于或者大于最大存活线程数,则根据拒绝策略进行处理。
        * */
        /*
        * 如何正确合理的设置线程池的参数:
        * 根据三个条件来计算:
        * 1.每秒处理的任务数
        * 2.每个任务处理花费的时间
        * 3.系统允许容忍的最大响应时间
        * 
        * */
         /*
          * 最大线程数 = 每秒最大任务数*每个任务平均执行时间;
          * 最小线程数 = ((每秒最大任务数+每秒最小任务数)/2)*每个任务平均执行时间;
          * 队列容量 = 最大线程数-最小线程数;
          * 考虑能容忍的最大处理时间
          * 队列容量 = (最大线程数-最小线程数)*(能容忍的最大处理时间/每个任务的平均处理时间)
          *
          * */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值