多线程并发编程-线程篇

线程基础

什么是线程?

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

什么是纤程?

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

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

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

什么是多线程?

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

为什么使用多线程

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

创建线程的方式

线程的生命周期

线程生命周期图

线程优雅中断

  • Thread.interrupt方法源码位置

  • Thread.interrupted()静态方法:查询当前线程是否被打断过,并重置打断标志源码位置翻译

  • isInterrupted方法:判断是否中断源码位置

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

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值