再来探讨一下多线程的深入话题吗?

2026-05-19 19:381阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计8647个文字,预计阅读时间需要35分钟。

再来探讨一下多线程的深入话题吗?

目录+再谈多线程+并发与并行+顺序执行+并发执行+并行执行+再谈锁机制+重量级锁+轻量级锁+偏向锁+锁消除和锁粗化+JMM内存模型+Java内存模型+重排序+volatile关键字+happens-before原则+推荐阅读

目录
  • 再谈多线程
    • 并发与并行
      • 顺序执行
      • 并发执行
      • 并行执行
    • 再谈锁机制
      • 重量级锁
      • 轻量级锁
      • 偏向锁
      • 锁消除和锁粗化
    • JMM内存模型
      • Java内存模型
      • 重排序
      • volatile关键字
      • happens-before原则

推荐阅读:www.cnblogs.com/zwtblog/tag/

再谈多线程

在我们的操作系统之上,可以同时运行很多个进程,并且每个进程之间相互隔离互不干扰。

我们的CPU会通过时间片轮转算法,为每一个进程分配时间片,并在时间片使用结束后切换下一个进程继续执行,通过这种方式来实现宏观上的多个程序同时运行。

由于每个进程都有一个自己的内存空间,进程之间的通信就变得非常麻烦(比如要共享某些数据)而且执行不同进程会产生上下文切换,非常耗时,那么有没有一种更好地方案呢?

后来,线程横空出世,一个进程可以有多个线程,线程是程序执行中一个单一的顺序控制流程,现在线程才是程序执行流的最小单元,各个线程之间共享程序的内存空间(也就是所在进程的内存空间),上下文切换速度也高于进程。

阅读全文

本文共计8647个文字,预计阅读时间需要35分钟。

再来探讨一下多线程的深入话题吗?

目录+再谈多线程+并发与并行+顺序执行+并发执行+并行执行+再谈锁机制+重量级锁+轻量级锁+偏向锁+锁消除和锁粗化+JMM内存模型+Java内存模型+重排序+volatile关键字+happens-before原则+推荐阅读

目录
  • 再谈多线程
    • 并发与并行
      • 顺序执行
      • 并发执行
      • 并行执行
    • 再谈锁机制
      • 重量级锁
      • 轻量级锁
      • 偏向锁
      • 锁消除和锁粗化
    • JMM内存模型
      • Java内存模型
      • 重排序
      • volatile关键字
      • happens-before原则

推荐阅读:www.cnblogs.com/zwtblog/tag/

再谈多线程

在我们的操作系统之上,可以同时运行很多个进程,并且每个进程之间相互隔离互不干扰。

我们的CPU会通过时间片轮转算法,为每一个进程分配时间片,并在时间片使用结束后切换下一个进程继续执行,通过这种方式来实现宏观上的多个程序同时运行。

由于每个进程都有一个自己的内存空间,进程之间的通信就变得非常麻烦(比如要共享某些数据)而且执行不同进程会产生上下文切换,非常耗时,那么有没有一种更好地方案呢?

后来,线程横空出世,一个进程可以有多个线程,线程是程序执行中一个单一的顺序控制流程,现在线程才是程序执行流的最小单元,各个线程之间共享程序的内存空间(也就是所在进程的内存空间),上下文切换速度也高于进程。

阅读全文