zoukankan      html  css  js  c++  java
  • 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里面的内容,这
    样就可以人为控制系统中最多运行的线程数量,免得程序崩溃了

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



  • 相关阅读:
    ImagView
    Menu(二)在代码中add
    Menu菜单键(一)
    不区分大小写
    ASP.NET中的一些小技巧
    常用的CSS标签标记属性翻译注释
    页面自动刷新和自动跳转代码
    ASP.NET中利用存储过程实现模糊查询
    打开页面时光标自动在输入框
    一些页面自动跳转的实现
  • 原文地址:https://www.cnblogs.com/GooKiki/p/Java.html
Copyright © 2011-2022 走看看