知识中心

Java常见面试题:线程池-阿里云开发者社区

2020-03-06 00:00:00 mimukeji

线程池

在项目的开发里面对于线程池¬应用最多的地方就在数据库的连接池上,如果要想实现线程池,需要一个专门的类完成(java.util.concurrent包):public interface ExecutorService extends Executor。

(1)线程的执行操作:public void execute(Runnable command);
如果想取得ExecutorService子接口对象,则必须利用java.util.concurrent.Executors类完成实例化;
(2)创建一个无限大小的线程池:public static ExecutorService newCachedThreadPool();
(3)创建有限大小的线程池:public static ExecutorService newFixedThreadPool(int nThreads)

范例:创建一个无限大小的线程池

image.png

范例:创建3个大小的线程池

image.png

此时由于线程池的空间只能够存放有三个线程的对象,所以对于不能保存的线程,将会在队列之中进行等待。
如果要是不确定能放多少线程池的话,可以通过以下的操作取得系统可用进程的数量,可以用它确定线程池的大小。

image.png

更多专业知识,面试技巧就在阿里云开发者社区,持续更新中……
感谢浏览~
本内容来源于阿里云大学-Java面试技巧