1、首先,java提供了一个线程池的顶级接口Executor,但实际上ExecutorService才是真正的线程池接口,前者只是执行固嗟喹账工具。使用ExecutorService创建newCachedThreadPool的线程池实例。

3、查看控制台结果,我们发现输出的10个线程都是新建的,并没有出现重用现象,这里实际是因为线程重用回收的时间远长于10个线程创建运行的时间。

5、再次运行程序,可以看到,由于1号线程在2s内已经运行完成,处于空闲,因此newCachedThreadPool线程池重用了它。
