转载

Java并发基础(2)------线程池

  1. 类与接口
Java并发基础(2)------线程池

2.Executor框架提供以下五种创建线程池的静态工厂方法

Java并发基础(2)------线程池
Java并发基础(2)------线程池
  • newFixedThreadPool()方法会返回一个具有固定数量线程的线程池,该线程池中的线程数量始终不变。如果有一个先的任务提交时,如果线程池中有空闲的线程则立即执行。如果没有的话会被暂存在一个任务队列中,等待有空闲线程的时候才会执行。
  • newSingleThreadPool()方法会返回一个只有一个线程的线程池。若有多余一个的任务被提交到任务队列中,任务会被保存在任务队列中。等到线程空闲时,按先入先出的顺序执行队列中的任务。
  • newCacheThreadPool()该方法返回一个可根据实际情况调整数量的线程池,线程池的数量不确定,如果有空闲线程可以复用时,会优先使用可复用的线程。若所有的线程都在工作,又有新的任务体积搜,则会创建先的线程处理任务,所有线程在当前任务执行完毕后,将返回线程池进行复用(注意:newCachedThreadPool()线程池里面的线程等上个线程执行完成才可以复用线程,否则它会一直create线程。)
  • newSingleThreadPoolScheduledExecutor()方法,周期性的执行某个任务
  • newScheduledThreadPool()方法,该方法也返回一个ScheduledExxecutorService对象,但该线程可以指定线程数量
  1. ThreadExecutor
    Java并发基础(2)------线程池
原文  https://juejin.im/post/5cfe0c0f6fb9a07f03572f20
正文到此结束
Loading...