美文网首页
Java 线程池的使用说明

Java 线程池的使用说明

作者: 黑色海鸥 | 来源:发表于2017-06-02 00:20 被阅读10次

    转自:http://mp.weixin.qq.com/mp/getmasssendmsg?__biz=MzA5MzI3NjE2MA==#wechat_webview_type=1&wechat_redirect

    为什么会有线程池

    ** 1. 创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率,例如:**
    记创建线程消耗时间 T1,执行任务消耗时间 T2,销毁线程消耗时间 T3

    如果 T1+T3>T2,那么是不是说开启一个线程来执行这个任务太不划算了!

    正好,线程池缓存线程,可用已有的闲置线程来执行新任务,避免了 T1+T3 带来的系统开销
    2. 线程并发数量过多,抢占系统资源从而导致阻塞
    我们知道线程能共享系统资源,如果同时执行的线程过多,就有可能导致系统资源不足而产生阻塞的情况

    运用线程池能有效的控制线程最大并发数,避免以上的问题

    3. 对线程进行一些简单的管理
    比如:延时执行、定时循环执行的策略等

    运用线程池都能进行很好的实现

    如何使用线程池###

    抽象类Executor
    实现类ThreadPoolExecutor
    对线程池的配置,就是对 ThreadPoolExecutor 构造函数的参数的配置,既然这些参数这么重要,就来看看构造函数的各个参数吧
    常用5个,其他2个不常用

    • int corePoolSize => 该线程池中核心线程数最大值

    相关文章

      网友评论

          本文标题:Java 线程池的使用说明

          本文链接:https://www.haomeiwen.com/subject/snjyfxtx.html