Java中有哪些线程池?线程池底层实现中比较重要的参数
Java通过Executors提供了四种线程池,分别是
1.newSingleThreadExecutor()
创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务,保证所有任务都是按照指定的顺序(FIFO,LIFO,优先级)执行
2.newFixedThreadExecutor()
创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待
3.newCachedThreadPool()
创建一个可缓存的线程池,如果当前没有可用线程,在执行结束后缓存60s,如果不被调用则移除线程。调用execute()方法时可以重用缓存中的线程。适用于很多短期异步任务的环境,可以提高程序性能。
4.newScheduledThreadPool()(在ScheduleThreadPoolExecutor类中,ThreadPoolExecutor的子类)
创建一个定长线程池,支持定时及周期性任务执行