实现一个无锁消息队列(续与勘误)
- 本文内容主要参考自Implementing Lock-Free Queue一文(以下简称“原论文”)
- 是对实现一个无锁消息队列一文的内容进行补充
-
TL;DR
- 尽管实现一个 …
在对称多处理系统(Symmetric Multiprocessing, SMP)中,一个变量(或内存位置)可以同时存在于多个CPU的缓存行中。为了提供完美的用户级抽象,任何对一个或多 …
more ...CAS(Compare-And-Swap)是一种在多线程编程中常用的数据同步方法,它通过比较和交换操作来保证数据的一致性。然而,在SPIN/Promela中没有直接的CAS对应实现。
让我们来看 …
more ...A2B is a "zach-like" programming game, which let you to use a very simple "programming language" to solve different problems for strings.
Personally, I highly recommand this game along with "Shenzhen IO" and "Factorio" as an beginner tutorial for anyone who wants to be a software engineer.
** The …
more ...在一对跨地域的机器(美国<->香港),使用TCP(Cubic拥塞控制算法)通信throughput最高2MB/s,丢包率0.02%。使用UDP通信throughput最高能达到140MB/s。
这是一个非常典型的长肥管道(LFN),并且丢包 …
more ...Log-Structed Merge-Tree (a.k.a. LSM-Tree)是当下常用的一种基于磁盘的存储引擎。与Hash索引和B-Tree同为数据库核心的数据结构。
LSM-Tree的优势在于: