java中常用线程池的:newCachedThreadPool

2025-04-17 10:22:04

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

java中常用线程池的:newCachedThreadPool

2、使用线程池实例,执行某一个实现了runnable接口的线程类,输出线程名。newCachedThreadPool线程池具有缓存功能,可以智能回收空闲线程以及智能新增线程。

java中常用线程池的:newCachedThreadPool

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

java中常用线程池的:newCachedThreadPool

4、我们在循环的中间加入个线程休眠时间,用于测试缓存功能。

java中常用线程池的:newCachedThreadPool

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

java中常用线程池的:newCachedThreadPool

6、newCachedThreadPool线程池的其他特性:为无限大小。该线程池size接口中设置为Integer.MAX_VALUE。

java中常用线程池的:newCachedThreadPool
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢