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 @   Gookiki  阅读(3144)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示