(前言:后续会深入了解线程池底层原理后会单独写一篇完整的帖子。)
线程池:
当线程经常性创建和销毁,会带来系统资源的大量损耗。因此通过线程池创建线程,可以对已存在的线程进行复用,从而避免这些问题发生。
线程池创建线程的优势:
- 减少系统资源损耗,对已存在的线程复用,无序另外分配资源创建线程。
- 提高系统运行效率,同理对线程的复用可无序等待线程的创建。
- 能够很好的管理并发数线程,当无限制创建线程会带来严重的资源损耗,通过线程池从而避免问题的发生。
线程池的使用方式:
- 通过线程池工具类Executors创建线程池服务。
- 根据实现接口的类型调用线程池服务不同的方法启动线程。
- 最后关闭服务减少资源损耗。
/**
* 线程池创建线程:
* 通过Executor类(线程池的工具类,创建不同类型的线程池)创建线程池
* 通过线程池的execute()执行实现Runnable接口的线程
* 当线程池的线程都完成任务后必须对线程池的服务关闭,避免造成资源浪费。
*/
public class ThreadExecutor {
public static void main(String[] args) {
ExecutorService executorService = Executors.newFixedThreadPool(5);
executorService.execute(new TestThread());
executorService.shutdown();
}
}
class TestThread implements Runnable {
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + "Hello");
}
}