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

前文:

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

一、线程

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(队列)

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

定时线程:

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

五、彩蛋图

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

© 版权声明

相关文章

1 条评论

  • 头像
    在下止咳丸 投稿者

    整理的很好👍

    无记录
    回复