硬件内存模型和C/C++内存模型
管理 5小时前

名称:硬件内存模型和C/C++内存模型

描述:《硬件内存模型和C/C++内存模型》课程系统讲解多线程编程中的内存模型与并发控制,从进程/线程基础、数据竞争、原子操作与锁机制,深入到底层硬件架构(流水线、乱序执行、缓存一致性、MESI协议)和主流处理器内存模型(x86-TSO、ARM/Power)。课程结合C/C++标准(原子类型、内存序、同步操作),通过大量实例解析线程间通信、指令重排、内存屏障及数据竞争解决方案,帮助开发者理解并发编程的底层原理并编写高效、正确的多线程代码。

链接:

百度:

夸克:

📁 大小:1.64 GB

🏷 标签:#内存模型 #多线程编程 #原子操作 #数据竞争 #缓存一致性 #MESI协议 #指令重排 #内存屏障 #x86TSO #ARM内存模型 #CPP原子类型 #内存序 #并发控制 #硬件架构 #同步机制 #硬件内存模型和C百度网盘 #quark

└─硬件内存模型和C/C++内存模型

├─{1}--课程内容及相关说明│      [1.1]--课程内容及相关说明_ev.mp4│├─{2}--进程和线程│      [2.1]--认识进程和线程_ev.mp4│      [2.2]--C语言对线程的支持_ev.mp4│      [2.3]--C语言编译器的选择_ev.mp4│      [2.4]--用C标准库函数创建线程_ev.mp4│      [2.5]--并行和并发_ev.mp4│├─{3}--数据竞争│      [3.1]--多线程数据竞争的例子_ev.mp4│      [3.2]--数据竞争是如何产生的_ev.mp4│├─{4}--原子操作和锁│      [4.1]--原子操作和原子变量_ev.mp4│      [4.2]--互斥锁_ev.mp4│      [4.3]--执行原子操作的机器指令_ev.mp4│      [4.4]--用机器指令实现原子操作的例子_ev.mp4│      [4.5]--用机器指令实现互斥锁的例子_ev.mp4│├─{5}--线程通信及相关问题│      [5.1]--一个线程间通信的例子_ev.mp4│      [5.2]--编译优化和指令重排_ev.mp4│      [5.3]--原子操作的神奇效应_ev.mp4│├─{6}--流水线、乱序执行和缓存│      [6.1]--什么是编排顺序_ev.mp4│      [6.2]--流水线_ev.mp4│      [6.3]--乱序执行_ev.mp4│      [6.4]--指令的执行和引退_ev.mp4│      [6.5]--存写缓冲器_ev.mp4│      [6.6]--缓存_ev.mp4│├─{7}--硬件内存模型│      [7.10]--x86-tso的访存次序(一)_ev.mp4│      [7.11]--x86-tso的访存次序(二)_ev.mp4│      [7.12]--x86-tso的访存次序(三)_ev.mp4│      [7.13]--x86-tso的访存次序(四)_ev.mp4│      [7.14]--x86-tso的访存次序(五)_ev.mp4│      [7.15]--x86-tso的访存次序(六)_ev.mp4│      [7.16]--x86访存次序的总结_ev.mp4│      [7.17]--多处理器和缓存一致性_ev.mp4│      [7.18]--MESI协议_ev.mp4│      [7.19]--MESI协议的状态转化_ev.mp4│      [7.1]--多处理器系统和顺序一致性_ev.mp4│      [7.20]--arm/power的访存次序(一)_ev.mp4│      [7.21]--arm/power的访存次序(二)_ev.mp4│      [7.22]--arm/power的访存次序(三)_ev.mp4│      [7.23]--arm/power的访存次序(四)_ev.mp4│      [7.24]--如何阻止指令重排_ev.mp4│      [7.25]--避免数据竞争的顺序一致性_ev.mp4│      [7.26]--x86平台上的同步操作指令_ev.mp4│      [7.27]--SC-DRF的实例_ev.mp4│      [7.28]--特别练习7-2_ev.mp4│      [7.2]--顺序一致的执行_ev.mp4│      [7.3]--特别练习7-1_ev.mp4│      [7.4]--顺序一致性模型的访存次序_ev.mp4│      [7.5]--偏序和全序_ev.mp4│      [7.6]--顺序一致性存在单一全序_ev.mp4│      [7.7]--x86处理器的指令重排_ev.mp4│      [7.8]--x86处理器上的存全序TSO_ev.mp4│      [7.9]--x86的内存屏障指令MFENCE_ev.mp4│└─{8}--C/C++内存模型        [8.10]--原子操作库_ev.mp4        [8.11]--一个多线程数据竞争的例子_ev.mp4        [8.12]--用原子操作解决数据竞争的例子_ev.mp4        [8.13]--C/C++内存模型的核心思想_ev.mp4        [8.14]--原子操作的附加属性(同步和访存次序)_ev.mp4        [8.15]--通过原子操作施加指定的访存次序_ev.mp4        [8.16]--通过原子操作施加内存同步_ev.mp4        [8.17]--前发_ev.mp4        [8.18]--同步操作及其分类_ev.mp4        [8.19]--原子操作的线程间同步_ev.mp4        [8.1]--C/C++内存模型简介_ev.mp4        [8.20]--依赖前序_ev.mp4        [8.21]--线程间前发_ev.mp4        [8.22]--可见副作用_ev.mp4        [8.23]--再论前序和前发_ev.mp4        [8.24]--松散的原子操作_ev.mp4        [8.25]--原子变量的修改次序_ev.mp4        [8.26]--原子操作的一致性规则_ev.mp4        [8.27]--顺序一致性的原子操作_ev.mp4        [8.28]--实例解析一_ev.mp4        [8.29]--实例解析二_ev.mp4        [8.2]--C语言的表达式_ev.mp4        [8.30]--实例解析三_ev.mp4        [8.31]--实例解析四_ev.mp4        [8.32]--实例解析五_ev.mp4        [8.33]--实例解析六_ev.mp4        [8.34]--对原子操作函数的附加说明_ev.mp4        [8.35]--C语言对原子类型的支持:存取的顺序一致性语义_ev.mp4        [8.36]--C语言对原子类型的支持:复合赋值的顺序一致性语义_ev.mp4        [8.37]--C语言对原子类型的支持:递增和递减的顺序一致性语义_ev.mp4        [8.38]--C语言对原子类型的支持:不使用标准库函数的线程同步_ev.mp4        [8.3]--表达式的例子_ev.mp4        [8.4]--表达式的功能_ev.mp4        [8.5]--求值、值计算和副作用_ev.mp4        [8.6]--前序、后序和序列点_ev.mp4        [8.7]--特别练习8-1_ev.mp4        [8.8]--无序和不确定顺序_ev.mp4        [8.9]--冲突和数据竞争_ev.mp4