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里面的内容,这
样就可以人为控制系统中最多运行的线程数量,免得程序崩溃了
所以,运行出来的结果是:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步