美文网首页
多线程与线程池

多线程与线程池

作者: wintersweett | 来源:发表于2017-10-18 18:16 被阅读0次

项目最近遇到页面接口特别多的情况,特写此文

线程池的优势毋庸置疑:

1)重用线程池中的线程,避免大量的线程的创建和销毁所带来的性能开销。

2)能有效的控制线程的最大并发数,避免大量的线程之间因互相抢占系统资源而导致的阻塞现象

3)能够对线程进行简单的管理,并提供定时执行以及指定建个循环执行等功能

ThreadPoolExcutor是线程池的真正实现。他执行任务时大致遵循如下规则:

1)如果线程池中的线程数量未达到核心线程数量,那么会直接启动核心线程来开启任务。

2)如果线程池中的线程数量已经达到或者超过核心线程数量,那么任务会插入到任务队列中排队等待执行。

3)如果在2中无法将任务插入到任务队列中,往往是由于任务队列已满,这个时候如果线程数量未到线程数量的最大值,那么会立刻开启非核心线程来执行任务

4)如果线程池中线程数量已经达到最大值,那么就拒绝执行此任务,

四类常见的线程池

newFixedThreadPool:都是核心线程,数量固定,即使线程空闲,并不会被回收,无超时机制,任务队列无限制

newCachedThreadPool:只有非核心线程,数量不固定,超时时长60s,

newscheduledThreadPool:核心线程数量固定,非核心线程数量无限制,非核心线程空闲时,会立即被回收

newSingledThreadPool:内部只有一个核心线程

相关文章

  • 反射、注解与依赖注入总结

    上一篇【线程、多线程与线程池总结】中主要记录线程、多线程相关概念,侧重于线程的Future使用与线程池的操作;同样...

  • Thread

    队列 线程锁 多线程,线程池 队列 多线程爬虫示例 多线程 自定义线程 线程池

  • 线程池

    线程、多线程与线程池总结[https://www.jianshu.com/p/b8197dd2934c]: 线程池...

  • Java:线程池Executors.newFixedThread

    摘要:Java,多线程,线程池 多线程编程和线程池概述 (1)多线程程序: 计算机可以实现多任务 ( multit...

  • JAVA 多线程与锁

    JAVA 多线程与锁 线程与线程池 线程安全可能出现的场景 共享变量资源多线程间的操作。 依赖时序的操作。 不同数...

  • 10.3多线程详解

    Java高级-多线程 多线程创建 多线程通讯 线程池 1.多线程创建 thread/runnable图:继承Thr...

  • 探索 Android 多线程 - 1 AsyncTask

    探索 Android 多线程 - 1 AsyncTask 前言 并发(1) -- 线程与线程池并发(2) -- s...

  • Springboot | 线程池的学习,多线程池配置示例

    一、线程和进程,线程的生命周期二、单线程和多线程三、线程池的概念四、线程池的使用五、多线程池配置示例 一、线程和进...

  • 线程、多线程和线程池,看完这些你就能全部搞懂了

    摘要:一文带你搞懂线程、多线程和线程池。 本文分享自华为云社区《一文搞懂线程与线程池[https://bbs.hu...

  • 源码分析之ThreadPoolExecutor

    线程池在多线程编程的中可谓是个利器,使用线程池会大大提高多线程的效率。原因是使用线程池相对于new Thread有...

网友评论

      本文标题:多线程与线程池

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