zoukankan      html  css  js  c++  java
  • ExecuterService实现线程池

    线程池的作用

    限制系统中执行线程的数量

    做法:使用线程池控制线程数量,其他线程排队等候。

    为什么要使用线程池

    • 减少线程的创建和销毁
    • 可以根据系统承受能力调整线程数量,太多了系统扛不住

    几个重要的类

    • ExecutorService:线程池接口
    • ScheduledExecutorService: 和TimeTask类似,执行重复执行的任务
    • ThreadPool:线程池的默认实现
    • ScheduledThreadPoolExecuter:周期任务调度实现类

    如何生成线程池

    Executors类提供了一些工厂方法:

    • newSingleThreadExecutor
    • newFixedThreadExecutor
    • newCachedThreadExecutor
    • newScheuledThreadExecutor

    举例

    创建一个固定大小的线程池

    ...
        ExecutorService threadPool = Executors.newFixedThreadPool(30);//创建具有30个线程的线程池
        Runnable r1 = new Runable(){
            public void run(){
                //线程体
            }
        };
        threadPool.execute(r1);//将任务交给线程池,其会分配空闲线程来运行这个任务。
        ...
    
  • 相关阅读:
    hibernate03增删改查
    hibernate02环境的搭建
    hibernate01ORM的引入
    20170623_oracle_优化与体系结构
    20170626_oracle_数据库设计
    logging模块
    hashlib模块
    json和pickle模块
    sys模块
    os模块
  • 原文地址:https://www.cnblogs.com/morninglight/p/10339711.html
Copyright © 2011-2022 走看看