Java多线程与线程池技术
一、序言 Java多线程编程线程池被广泛使用,甚至成为了标配。 线程池本质是池化技术的应用,和连接池类似,创建连接与关闭连接属于耗时操作,创建线程与销毁线程也属于重操作,为了提高效率,先提前创建好一批线程,当有需要使用线程时从线程池取出,用完后放回线程池,这样避免了频繁创建与销毁线程。 // 任务 Runnable runnable = () -> System.out.println(Thread.currentThread().getId()); 在应用中优先选用线程池执行异步任务,根据不同的场景选用不同的线程池,提高异步任务执行效率。 1、普通执行 new Thread(runnable).start(); 2、线程池执行 Executors.newSingleThreadExecutor().execute(runnable) 二、线程池基础 (一)核心参数 1、核心参数 线程池的核心参数决定了池的类型,进而决定了池的特性。 参数 解释 行为 corePoolSize 核心线程数 池中长期维护的线程数量,不主动回收 maximumPoolSize 最大线程数 最大线程数大...