线程池的使用

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

corePoolSize:核心线程池线程数(一直工作的线程)
maximumPoolSize:线程池最多线程数
keepAliveTime:非核心线程存活时间
unit:非核心线程存活时间单位,配合keepAliveTime使用
workQueue:阻塞队列,任务接收后就会进入阻塞队列等待线程唤醒处理,不同的阻塞队列具有不同的作用,这里有三种阻塞队列
threadFactory:线程工厂
handler:任务拒绝策略

阻塞队列一共三种类型
ArrayQueue有界队列
LinkQueue无界队列
SynQueue同步队列

拒绝策略一共四种
AbortPolicy
为java线程池默认的阻塞策略,不执行此任务,而且直接抛出一个运行时异常
DiscardPolicy
直接抛弃,任务不执行,空方法
DiscardOldestPolicy
从队列里面抛弃head的一个任务,并再次execute 此task。
CallerRunsPolicy
在调用execute的线程里面执行此溢出的任务,会阻塞入口

线程池创建完成之后调用execute即可

任务线程继承Runnable接口,重写run方法即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值