摘要: 阻塞的算法和数据结构使用 mutex、条件变量、期值来同步数据,但非阻塞不等价于 lock-free,比如自旋锁没有使用任何阻塞函数的调用,是非阻塞的,但并非 lock-free 非阻塞数据结构由松到严可分为三个等级:obstruction-free、lock-free、wait-free obst 阅读全文
posted @ 2023-02-19 11:52 misaka-mikoto 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 并发访问 std::map 和 std::unordered_map 的接口的问题在于迭代器,其他线程删除元素时会导致迭代器失效,因此 thread-safe map 的接口设计就要跳过迭代器 为了使用细粒度锁,就不应该使用标准库容器。 红关联容器数据结构 一是二叉树(如红黑树),但每次查找修改都要 阅读全文
posted @ 2023-02-19 10:47 misaka-mikoto 阅读(43) 评论(0) 推荐(0) 编辑