1,newFixedThreadPool(int nThreads)
创建一个重复利用一定数目线程的线程池。在任何时候,最多只能有nThreads个线程运行。当全部的线程都在运行,如果额外的任务提交,那么它们将会在队列中等待,直到有线程可以使用。如果任何线程因为在执行时候失败而终止,一个新的任务将会占据这个线程。这个线程池会一直存在,除非关闭
2,newWorkStealingPool(int parallelism)
根据给定的并行等级,创建一个拥有足够的线程数目的线程池。或许会使用多重队列来降低冲突。并行的等级是和运行的最大线程数目相关。真实的线程数目或许会动态地增长和收缩。一个工作窃取的线程池对于提交的任务不能保证是顺序执行的
3,newWorkStealingPool()
利用所有运行的处理器数目来创建一个工作窃取的线程池
4, newFixedThreadPool(int nThreads, ThreadFactory threadFactory)
创建一个重复利用一定数目线程的线程池。threadFactory是创建新的线程的工厂
5,newSingleThreadExecutor()
创建只拥有一个线程的线程执行工具
6,newSingleThreadExecutor(ThreadFactory threadFactory)
创建一个只利用一个线程执行任务的执行工具,在需要的时候,threadFactory会创建新的线程
7,newCachedThreadPool()
创建一个能够线程池,这个线程池会根据实际需要,创建新的线程,如果有空闲的线程,空闲的线程也会被重复利用。对于那些执行生命周期短的异步任务来讲,这个线程池会先出提高程序的处理性能。如果一个线程60s内没有被使用,那么就会被移除,因此随着时间推移,这个线程池不会消耗很多资源
8,newCachedThreadPool(ThreadFactory threadFactory)
threadFactory会根据需要,创建新的线程的线程工厂
9,newSingleThreadScheduledExecutor()
创建只有一个线程的执行器,可以周期性或者延时执行一个任务,任务保证会按照顺序执行,在任何时间只有一个任务会被执行
10,newSingleThreadScheduledExecutor(ThreadFactory threadFactory)
threadFactory,根据需要创建新的线程
11,newScheduledThreadPool(int corePoolSize)
创建一个线程池,它会维持corePoolSize数目个线程,就算线程空闲,也不会被移除。可以周期地或者延时执行任务
12,newScheduledThreadPool(
int corePoolSize, ThreadFactory threadFactory)
创建一个线程池,它会维持corePoolSize数目个线程,就算线程空闲,也不会被移除。可以周期地或者延时执行任务。threadFactory会根据需要创建新的线程
13,unconfigurableExecutorService(ExecutorService executor)
创建一个执行服务的代理,返回值是ExecutorService
14,unconfigurableScheduledExecutorService(ScheduledExecutorService executor)
创建一个执行服务的代码,返回值是ScheduledExecutorService