Java --关于线程池的理解Executors.newFixedThreadPool(int n)

 1 /*1. 在这个里面有先创造了一个线程池,可以容纳2个对象Executors.newFixedThreadPool(2);
 2      2. 在程序里面向线程池中submit了三次,也就表示有三个等待执行的
 3      体现出线程池的作用:
 4       不管submit了几个线程,线程池中最多运行2个,
 5      多出来的那个还是用线程池中开辟好的资源,然后执行完run里面的内容,这
 6      样就可以人为控制系统中最多运行的线程数量,免得程序崩溃了
 7     * */
 8  public static void main(String[] args) {
 9         Teacher teacher = new Teacher("Tom");
10         ExecutorService  executorService = Executors.newFixedThreadPool(2);
11         MyRunable myRunable = new MyRunable(teacher);
12         executorService.submit(myRunable);
13         executorService.submit(myRunable);
14         executorService.submit(myRunable);
15 
16     }

主要作用是:
1. 在这个里面有先创造了一个线程池,可以容纳2个对象Executors.newFixedThreadPool(2);
2. 在程序里面向线程池中submit了三次,也就表示有三个等待执行的
体现出线程池的作用:
不管submit了几个线程,线程池中最多运行2个,
多出来的那个还是用线程池中开辟好的资源,然后执行完run里面的内容,这
样就可以人为控制系统中最多运行的线程数量,免得程序崩溃了

所以,运行出来的结果是:

 



posted @ 2019-08-22 20:09  Gookiki  阅读(3178)  评论(0)    收藏  举报