并发

每个线程会在进程的堆上创建的,栈之间有隔离区。 栈是默认线程独占的,而堆是共享资源,很多函数会有的缓冲区就在堆中的他是共享的。 每个线程栈和共享资源都可以看作是一个状态机。 ...

June 11, 2026 · 1 min · 346 words

并发架构与同步原语

为了追求极限性能,cpu硬件搞出了独立缓存(L1/L2)和乱序执行,但也留下了“数据不同步”和“顺序错乱”的烂摊子。硬件用MESI协议和内存屏障指令来修补。编程语言为了抹平不同平台(xv6/arm)的差异,制定了内存模型契约,让程序员通过指定内存序(relaxed/acquire/release/sc)来指挥编译器和cpu自动插入屏障。而程序员利用这些契约和底层的硬件CAS指令,最终构建出了无锁算法以及互斥锁等同步原语,为多线程并发提供了正确同步的基础设施。 ...

June 11, 2026 · 7 min · 3407 words