美文网首页
线程池的知识点相关

线程池的知识点相关

作者: 浩仔_Boy | 来源:发表于2021-02-18 21:30 被阅读0次

学习笔记,仅供自己参考,如有不对欢迎指正

1.线程的几种状态

  • 创建状态 线程被创建,还没有执行start方法
  • 可运行状态 被其他线程(比如main)调用start方法,此时线程随时可以被CPU调度执行
  • 运行状态 线程获取CPU权限执行。warning:线程只能从就绪状态进入到运行状态。
  • 阻塞状态 因为某种原因放弃CPU的使用权,暂停运行。直到再次进入可运行状态,才能被执行。一般分为三种情况:
    1.等待阻塞 通过调用线程的wait()方法,让线程等待某工作的完成。
    2.同步阻塞 线程在获取synchronized同步锁失败(因为锁被其他线程占用),它会进入同步阻塞状态。
    3.其他阻塞 通过调用线程的sleep()或join()或发出了I/O请求时,线程会进入到阻塞状态。当sleep()状态超时、join()等待线程终止或超时、或者I/O处理完毕时,线程重新转入就绪状态。
  • 死亡状态 线程run()、main()方法执行结束,或者因异常退出了run()方法,则该线程结束生命周期。死亡的线程不可再次复生

2.线程池知识点

  • 7个参数参考 https://www.cnblogs.com/alex-xyl/p/12460679.html
    1)corePollSize: 核心线程数。
    2)maximumPoolSize: 最大线程数。
    3)keepAliveTime 空闲线程存活时间
    4)unit 空间线程存活时间单位
    5)workQueue 工作队列
    6)threadFactory 线程工厂
    7)handler 拒绝策略
  • 实现线程池中的任务按优先级执行参考 https://www.cnblogs.com/Sinte-Beuve/p/12340634.html
    替换线程池默认的阻塞队列为 PriorityBlockingQueue(优先级队列)
  • 线程池的设计用到了哪种设计思想
    生产消费者模型
  • 你是如何配置线程池的?核心线程数你一般是怎么配置的?
    参考 https://www.cnblogs.com/gaopengpy/p/11989249.html
    根据IO密集型和CPU密集型来配置

相关文章

  • 2020-07-28JDK5.0之后新增的创建多线程的方式2

    新增方式二:使用线程池 线程池相关API JDK 5.0起提供了线程池相关API:ExecutorService ...

  • 线程池的知识点相关

    学习笔记,仅供自己参考,如有不对欢迎指正 1.线程的几种状态 创建状态 线程被创建,还没有执行start方法 可运...

  • 线程池创建和相关知识

    线程池创建(单例):Android线程池得要这么用 - 简书 线程池相关知识:Android开发之线程池使用总结 ...

  • ExecutorService线程池

    声明: 一、ExecutorService线程池相关介绍 线程池的介绍略 ExecutorServiceExecu...

  • 线程池(ThreadPoolExecutor)

    一:Executor知识点 二:线程池模型 1:线程池模型:生产者-消费者模式(与一般的池化资源模式不同),线程池...

  • 线程池相关-线程池的创建

    本文学习过程中持续更新 线程池的创建 为什么不推荐用 Executors 创建线程池,而是用 ThreadPool...

  • java线程池源码解析

    主要介绍线程池相关知识,关于线程池,首先我们思考下为什么要用线程池。如果单纯的使用线程,线程的创建和销毁都是自己来...

  • 线程池相关

    ThreadPoolExecutor代码中的注释 ExcutorService 尽可能使用线程池里的Thread来...

  • 线程池相关

    ThreadPoolExecutor是线程池的基本函数,其中几个参数说明如下: corePoolSize 线程池的...

  • 线程池相关

    声明 本文是从前同事Blankj的开源项目安卓 offer 收割基拷贝过来仅作为自己的知识点的收集。 线程池 优点...

网友评论

      本文标题:线程池的知识点相关

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