Android面试 谈谈线程池的原理

回答问题三步走

  1. 线程池是用来干嘛的?

  2. 线程池是怎么实现的,核心原理

  3. 线程池有什么好处,我们怎么更好的使用它

线程池是用来干嘛的?

如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。

两个字:效率

线程池是怎么实现的,核心原理

真正核心

生产者-消费者模型

线程池的原理

具体实现策略

BlockingQueue<Runnable> workQueue;  //任务缓存队列,用来存放等待执行的任务

private final HashSet<Worker> workers = new HashSet<Worker>();  //用来存放工作集

private volatile ThreadFactory threadFactory;   //线程工厂,用来创建线程

线程池策略

线程池有什么好处,我们怎么更好的使用它

根据不同的场景,配置不同的策略,cpu密集型 和io密集型

比如:

  1. 发送消息场景
  2. 批量解密文件

猜你喜欢

转载自blog.csdn.net/u011077027/article/details/93380839