写点什么

看完这篇线程、线程锁与线程池讲解,面试随便问!

作者:小小怪下士
  • 2022-11-17
    湖南
  • 本文字数:401 字

    阅读完需:约 1 分钟

前文:

单线程——多线程的开启——线程锁——线程同步工具——手写连接池——连接池工具类。

一、线程

1.线程的概念



2.线程与进程的关系



3.定义:



区别:如上!!!


4.wait()和 sleep()



5.线程的状态及其他 API


二、线程锁

线程并发同步时,引入了锁机制。


  1. 普通锁机制:synchronized  修饰代码块与 volatile  修饰成员变量



  1. Lock


!!共同点:都是从外面创建锁类、再把锁传到线程里对变量对象赋值。


(1)重入锁



(2)读写分离锁



区别:


三、线程同步工具类

!!共同点:都是从外面创建工具类、再把工具类的参数传到线程里面执行。


  1. CountDowmLatch 闭锁:等待所有线程执行完



  1. CyclicBarrier 栅栏:等待所有线程达到后开启



  1. Exchanger 交换机:交流数据



  1. 信号量


(1)概念



(2)应用场景一



(3)应用场景二


四、线程池
  1. 为什么使用线程池



  1. 线程池的核心队列


阻塞式队列:只用于线程对象,主要用于引出线程池



  1. 手动创建线程池



  1. Executors 工具创建线程


核心线程:0(临时线程)、1(队列)、N(队列)



定时线程:


五、彩蛋图


用户头像

还未添加个人签名 2022-09-04 加入

热衷于分享java技术,一起交流学习,探讨技术。 需要Java相关资料的可以+v:xiaoyanya_1

评论

发布
暂无评论
看完这篇线程、线程锁与线程池讲解,面试随便问!_Java_小小怪下士_InfoQ写作社区