为避免操作系统频繁的创建和关闭线程,我们可以让创建的线程进行服用,使用线程池之后,直接从线程池获取线程,如果关闭线程,将线程归还给池子
线程池jdk提供了一套executor框架,在concurrnet包下,其中最核心的是ThreadPoolExecutor
public static ExecutorService
newFixedThreadPool(int nThreads)
创建一个可重用固定线程数的线程池,以共享的无界队列方式来运行这些线程。
public
static ExecutorService
newSingleThreadExecutor()
创建一个使用单个 worker 线程的 Executor,以无界队列方式来运行该线程。
public static ScheduledExecutorService
newScheduledThreadPool(int corePoolSize)
创建一个线程池,它可安排在给定延迟后运行命令或者定期地执行