> 文章列表 > 多线程并发编程-线程篇

多线程并发编程-线程篇

多线程并发编程-线程篇

线程基础

什么是线程?

  • 系统中的一个程序就是一个进程,每个进程中的最基本的执行单位,执行路径就是线程,线程是轻量化的进程。

什么是纤程?

  • 绿色线程,由用户自己进行管理的而不是系统进行管理的,我理解就是一个进程里面可以有多线程,一个线程里面有多进程(go里面叫协程)

什么是线程切换(上下文切换)?

  • 线程是按照CPU分的时间片进行执行的,如果线程A用完了CPU的时间片,那么CPU就会去执行另外的线程,那么线程A就要保存自己的执行状态以便在进行加载运行,保存以及再加载这个过程就叫线程切换

什么是多线程?

  • 简单理解就是在多CPU时代可以使用多线程并行来提高CPU的利用率,以及提高系统性能

为什么使用多线程

  • 从计算机底层来说:线程是轻量级的进程,是程序执行的最小单位,现成之间的切换和调度远远小于进程,另外多CPU意味着多线程可以并行执行,减少线程切换的成本
  • 从当代互联网来说:现在的系统动不动就要求百万级千万级的并发量,而多线程正式实现高并发的基础,利用好多线程机制可以大大提高系统整体的并发能力以及性能

创建线程的方式

  • 创建线程的五种方式

线程的生命周期

多线程并发编程-线程篇

线程优雅中断

  • Thread.interrupt方法多线程并发编程-线程篇

  • Thread.interrupted()静态方法:查询当前线程是否被打断过,并重置打断标志多线程并发编程-线程篇

  • isInterrupted方法:判断是否中断多线程并发编程-线程篇

  • 判断是否设置了中断标志位然后完成线程终端操作,上述的标志位只是进行设置而已,不会真正停止线程