详解 线程池 的基本实现

在这里插入图片描述

在跟着本人学习了这么久的web以及框架的一些知识后
相信有不少同学都忘记了有关线程的很多知识点
那么,在本文开头,本人先来带同学们回顾下线程的重要知识点:

有关“线程”

多(进程)线程系统

多个线程“并发”执行,实际上是通过 “共享”CPU时间片段实现的
OS将CPU时间分成“CPU时间片段”,每一个片段CPU执行某一个线程;
时间片段消耗完成,由OS中的“线程调度进程(程序)”负责调度另一个线程执行;
即所谓的“在就绪态的线程中,选择一个线程执行”

线程调度过程

线程A时间片段到后,线程调度进程需要先“保护现场”
即,需要将当前正在执行的线程暂时中断
并将这个线程当前执行的状态保存起来,
当然是为了未来这个线程恢复执行时,能够接着被中断的程序继续执行

上文中的 “现场信息”包括:

  • 线程中断前执行的代码的地址
  • 所有寄存器
    (包括:通用寄存器、段寄存器、堆栈寄存器、标志位寄存器、IP寄存器);
  • 线程栈帧
    (当前

猜你喜欢

转载自blog.csdn.net/weixin_45238600/article/details/106055926