【线程池】

  1. 什么是线程池?线程池的作用?
    1. 线程池是一种标准的资源池        since jdk5.0        作者Doug Lea 
    2. 资源池能够在用户出现之前提前预留活跃资源,从而在用户出现的第一时间直接满足用户对资源的需求,并且将资源的创建和销毁都委托给资源池完成,从而优化用户体验
  2. 假如一个线程的完整执行时间为T,则T是由三部分时间组成的
    1. t1:在操作系统当中创建一个线程的时间
    2. t2:执行线程核心逻辑的时间run()
    3. t3:在操作系统当中销毁一个线程的时间
      1. 而如果run()当中的代码非常简短,则t2所占T的比例就会很小,这时候我们会觉得付出和回报根本不成比例,喧宾夺主,主次不分
  3. 创建线程有哪些方式?
    1. extends Thread
    2. implements Runnable
    3. implements Callable<T>
  4. 第三种也就是Callable接口的方式的优势是什么?
    1. 有返回值
    2. 能抛异常
  5. 官方核心类库当中提供的常用的线程池种类有哪些?
    1. 修复后可重用的:newFixedThreadPool(int x) -- 访问量比较稳定,波动不大
    2. 缓存机制的:newCachedThreadPool() -- 淘宝双十一、京东618瞬时访问量大
    3. 单一实例的:newSingalThreadPool() -- 对提交的时间有严格要求的;先后顺序
  6. 如果不适用核心类库当中官方提供的线程池实现,而要自己创建线程池执行器,那么需要几个参数,各自代表什么含义?5个
    1. 线程池当中预留的核心线程数量
    2. 线程池当中最大线程数量
    3. 保持活着的时间
    4. 时间单位
    5. 一个队列,用于存放到达上限之后依然提交上来的线程任务
  7. JUC包当中的内容:
    1. 多线程高并发的场景下,更优秀的集合
    2. 多线程高并发场景下,一些常用工具,CoutDownLatch
    3. 面向对象思想实现的锁,locks子包里
    4. 线程池的实现
    5. Callable<T> 、Future<T>;第四种包含第五种
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值