wa_9527 发表于 2025-9-9 18:28:44

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

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

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

链接:
百度:https://pan.baidu.com/s/1Zt2N3g7FH1KbqXUeMfD-VQ?pwd=9527
夸克:https://pan.quark.cn/s/642d50854177

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




└─硬件内存模型和C/C++内存模型
    ├─{1}--课程内容及相关说明
    │      --课程内容及相关说明_ev.mp4
    │
    ├─{2}--进程和线程
    │      --认识进程和线程_ev.mp4
    │      --C语言对线程的支持_ev.mp4
    │      --C语言编译器的选择_ev.mp4
    │      --用C标准库函数创建线程_ev.mp4
    │      --并行和并发_ev.mp4
    │
    ├─{3}--数据竞争
    │      --多线程数据竞争的例子_ev.mp4
    │      --数据竞争是如何产生的_ev.mp4
    │
    ├─{4}--原子操作和锁
    │      --原子操作和原子变量_ev.mp4
    │      --互斥锁_ev.mp4
    │      --执行原子操作的机器指令_ev.mp4
    │      --用机器指令实现原子操作的例子_ev.mp4
    │      --用机器指令实现互斥锁的例子_ev.mp4
    │
    ├─{5}--线程通信及相关问题
    │      --一个线程间通信的例子_ev.mp4
    │      --编译优化和指令重排_ev.mp4
    │      --原子操作的神奇效应_ev.mp4
    │
    ├─{6}--流水线、乱序执行和缓存
    │      --什么是编排顺序_ev.mp4
    │      --流水线_ev.mp4
    │      --乱序执行_ev.mp4
    │      --指令的执行和引退_ev.mp4
    │      --存写缓冲器_ev.mp4
    │      --缓存_ev.mp4
    │
    ├─{7}--硬件内存模型
    │      --x86-tso的访存次序(一)_ev.mp4
    │      --x86-tso的访存次序(二)_ev.mp4
    │      --x86-tso的访存次序(三)_ev.mp4
    │      --x86-tso的访存次序(四)_ev.mp4
    │      --x86-tso的访存次序(五)_ev.mp4
    │      --x86-tso的访存次序(六)_ev.mp4
    │      --x86访存次序的总结_ev.mp4
    │      --多处理器和缓存一致性_ev.mp4
    │      --MESI协议_ev.mp4
    │      --MESI协议的状态转化_ev.mp4
    │      --多处理器系统和顺序一致性_ev.mp4
    │      --arm/power的访存次序(一)_ev.mp4
    │      --arm/power的访存次序(二)_ev.mp4
    │      --arm/power的访存次序(三)_ev.mp4
    │      --arm/power的访存次序(四)_ev.mp4
    │      --如何阻止指令重排_ev.mp4
    │      --避免数据竞争的顺序一致性_ev.mp4
    │      --x86平台上的同步操作指令_ev.mp4
    │      --SC-DRF的实例_ev.mp4
    │      --特别练习7-2_ev.mp4
    │      --顺序一致的执行_ev.mp4
    │      --特别练习7-1_ev.mp4
    │      --顺序一致性模型的访存次序_ev.mp4
    │      --偏序和全序_ev.mp4
    │      --顺序一致性存在单一全序_ev.mp4
    │      --x86处理器的指令重排_ev.mp4
    │      --x86处理器上的存全序TSO_ev.mp4
    │      --x86的内存屏障指令MFENCE_ev.mp4
    │
    └─{8}--C/C++内存模型
            --原子操作库_ev.mp4
            --一个多线程数据竞争的例子_ev.mp4
            --用原子操作解决数据竞争的例子_ev.mp4
            --C/C++内存模型的核心思想_ev.mp4
            --原子操作的附加属性(同步和访存次序)_ev.mp4
            --通过原子操作施加指定的访存次序_ev.mp4
            --通过原子操作施加内存同步_ev.mp4
            --前发_ev.mp4
            --同步操作及其分类_ev.mp4
            --原子操作的线程间同步_ev.mp4
            --C/C++内存模型简介_ev.mp4
            --依赖前序_ev.mp4
            --线程间前发_ev.mp4
            --可见副作用_ev.mp4
            --再论前序和前发_ev.mp4
            --松散的原子操作_ev.mp4
            --原子变量的修改次序_ev.mp4
            --原子操作的一致性规则_ev.mp4
            --顺序一致性的原子操作_ev.mp4
            --实例解析一_ev.mp4
            --实例解析二_ev.mp4
            --C语言的表达式_ev.mp4
            --实例解析三_ev.mp4
            --实例解析四_ev.mp4
            --实例解析五_ev.mp4
            --实例解析六_ev.mp4
            --对原子操作函数的附加说明_ev.mp4
            --C语言对原子类型的支持:存取的顺序一致性语义_ev.mp4
            --C语言对原子类型的支持:复合赋值的顺序一致性语义_ev.mp4
            --C语言对原子类型的支持:递增和递减的顺序一致性语义_ev.mp4
            --C语言对原子类型的支持:不使用标准库函数的线程同步_ev.mp4
            --表达式的例子_ev.mp4
            --表达式的功能_ev.mp4
            --求值、值计算和副作用_ev.mp4
            --前序、后序和序列点_ev.mp4
            --特别练习8-1_ev.mp4
            --无序和不确定顺序_ev.mp4
            --冲突和数据竞争_ev.mp4

页: [1]
查看完整版本: 硬件内存模型和C/C++内存模型