std::atomic<std::shared_ptr>是 C++20 进入到标准中的一个提案。但是目前看来实现的方案主要有:
最近写了不少的 shell 脚本,也收集了一些提升 shell 编程的文章,感觉有一些确实不错的内容可以进行分享。
最近看了 Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms1,是一篇 1996 年的关于高效并发队列的论文,是一篇简单而易懂的 lock-free 算法入门佳作。 Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms ↩
最近把收藏的一些关于分布式锁的文件进行一些总结,此文章已经拖了一年多,原本多种分布式锁算法逐一分析的内容已不新鲜,则只保留一些结论性的内容。
介绍
简介
注:关于一致性模型这个话题,之前存档了很多笔记,最终还是需要再整理一遍,整合一篇自己的理解。相关自己的独家认识并不多,因此多是一些摘抄的整合。
pagefault在使用大量内存的场景下是一个不可忽视的性能损耗,而且在用户态中,该行为是透明的,不好分析和测量,因此必须借助外部工具才能分析。
minio/dsync 是一个 go 语言实现的,分布式锁工具库,使用在Minio Object Storage,其设计宗旨是追求简单,因此横向扩展能力比较局限,通常小于 32 个分布式节点。任一节点回向全部节点广播锁请求消息,然后获得n/2 + 1赞同的节点会成功获取到锁。释放锁时,还会向全部节点广播请求。
介绍
a thread-safe concurrent map for go
lrita's blog
NUMA is a utility library, which is written in go. It help us to write some NUMA-AWARED code.
a TryLock implementation