单生产者单消费者无锁队列
摘要:单生产者单消费者无锁队列 伪共享: 下图是计算的基本结构。L1、L2、L3分别表示一级缓存、二级缓存、三级缓存,越靠近CPU的缓存,速度越快,容量也越小。所以L1缓存很小但很快,并且紧靠着在使用它的CPU内核;L2大一些,也慢一些,并且仍然只能被一个单独的CPU核使用;L3更大、更慢,并且被单个插槽
阅读全文
CPU 缓存一致性
摘要:CPU 缓存一致性 参考:https://mp.weixin.qq.com/s?__biz=MzUxODAzNDg4NQ==&mid=2247486479&idx=1&sn=433a551c37a445d068ffbf8ac85f0346&scene=21#wechat_redirect CPU C
阅读全文
线程池
摘要:线程池 https://github.com/CodingHanYa/workspace 包括组件:阻塞队列; 阻塞队列 阻塞队列是线程池中用于管理任务的核心组件,它提供线程安全的任务队列,确保多个线程可以安全地向队列中添加任务或从队列中取任务。每次执行push_back或emplace_back时
阅读全文
并发编程数据结构-栈
摘要:并发编程数据结构-栈 有锁栈 有锁栈 - 基础线程安全栈 Stack1 是一个简单的线程安全栈实现,使用了 std::mutex 来保证 push 和 pop 操作的原子性。主要特点包括: 使用 std::lock_guard 确保操作期间栈的线程安全。 提供了两种 push 操作(左值引用和右值引
阅读全文