8.线程池用过吗?ThreadPoolExecutor谈谈你的理解

线程池用过吗?ThreadPoolExecutor谈谈你的理解?

image-1662512151959

为什么用线程池,优势

image-1662512164220

线程池如何使用

  • 架构说明

    image-1662512179508

  • 编码实现

    • 了解

      image-1662512201889

    • 重点

      image-1662512231644

      • Executors.newFixedThreadPool(int nThreads);

        image-1662512251737

      • Executors.newSingleThreadExecutor();

        image-1662512270681

      • Executors.newCachedThreadPool();

        image-1662512284914

  • ThreadPoolExecutor

    image-1662512298135

线程池的几个重要参数介绍

  • 7大参数

    image-1662512313691

    image-1662512325451

    • corePoolSize

image-1662512342392

银行网点形象比喻

image-1662512365576

说说线程池的底层工作原理

image-1662512385560
image-1662512394420

彩蛋

  • 1.适配器模式

    • 透传
      传接口,扩展性,适配性得到保证(永远传参传接口,经验之谈)
    • 构造注入(spring,FutureTask等)
  • 2.技术架构师

    • 思想(面向接口编程)
  • 3.面试造火箭(理论),实际拧螺丝
    理论是指导实践的核心支持

  • 4.查看window的CPU核数

    1)计算机管理

    image-1662512413404

    2)任务管理器

    image-1662512425147

    3)代码获取

     System.out.println(Runtime.getRuntime().availableProcessors());
    
  • 5.任何牛逼的程序都是基于硬件的

    早期电脑都是单核的,1995年java诞生,当时多线程其实是假的多线程,有很多上下文切换

    现在多核出来后,可能一个线程独占一个CPU,原来是多个线程共享一个CPU(有竞争关系)

  • 6.java面向对象,需要什么new什么

    但是学过spring后,让自己new的机会很少

  • 7.池化技术

    DRUID

    ThreadPool

最近的文章

JVM+GC解析(学习大纲,前提复习:JVM内存结构,GC的作用域,常见的垃圾回收算法)

大纲前提复习JVM内存结构JVM体系结构Java8以后的JVMGC的作用区域常见的垃圾回收算法【没有完美的算法,都有自己的特定场景】引用计数复制(用于新生代)标记清除(用于老生带)标记整理(用于老生带)…

继续阅读
更早的文章

7.阻塞队列知道吗

阻塞队列知道吗队列+阻塞队列为什么用?有什么好处?BlockingQueue的核心方法架构梳理+种类分析架构介绍(idea右键show diagram可以看到)种类分析SynchrounousQueue:不存储元素的阻塞队列,也即单个元素的队列理论SynchronousQueueDemo用在哪里sy…

继续阅读