学习笔记———— 线程池创建分析

ThreadPoolExecuter 参数分析 7 个 依次

    

ThreadPoolExecuter (int corePoolSize,
                    int maximumPoolSize,
                    long keepAliveTime,
                    TimeUnit unit,
                    BlockingQueue<Runnable> workQueue,
                    ThreadFactory threadFactory,
                    RejectedExecutionHandler handler )

    corePoolSize :核心线程数,保持在线程池中的线程数量

    maximumPoolSize:线程池允许最大线程数

    keepAliveTime / timeUnit :线程池中线程空闲不被释放的最大时间,配合timeUnit使用,为0表示永远不被释放

    workQueue :BlockingQueue<Runable> 工作线程任务的阻塞队列,用来存放等待执行的任务,默认实现LInkedBlockingQueue

   thredFactory :线程池创建工厂,子类通过自定义实现接口“Thread newThread(Runnable)”通过工厂创建线程池具体的Thread线                              程    默认实现了:DefaultThreadFactory

  handler(RejectedExecutionHandler) : 拒绝策略

            当workQueue无法存放新加任务,或添加新任务后线程池停止任务,使用设置的拒绝策略拒绝新加任务的执行,可以用rejectedExecution来实现自己的拒绝策略    默认策略 : AbortPolicy 抛出异常

 

拒绝策略:

    1:CallerRunsPolicy :调用当前方执行策略  

          当前调用线程或添加任务的线程执行,这种方法当线程池无法执行时,使用调用方资源来执行任务

    2:AbortPolicy : 异常策略

          抛出RejectedExecutionException异常

    3:DiscardPolicy :直接抛弃策略

          对任务不做任何事情,忽略该任务,不执行不报错

     4:DiscardOldestPolicy:抛弃最早任务策略

          将workQueue的一个任务取出抛弃,当前任务放入workQueue中执行

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值