前言 多生产者多消费者(multiple-producer,multiple-consumer) 的无锁(lock-free)环形缓冲区(ring-buffer),有其特定的使用场景。 在一些高性能场景下,锁是绝对不能使用的。不仅锁不能使用,为了避免 cache miss,每个工作线程会选择使用 per-thread data方式,进行数据读取与写…
前言 有时,在写测试代码的时候,需要生成随机数。 但是软件层面,无法实现正在的随机数。计算机密码学中,随机数是一个基础,可见: Dan Boneh的密码学。 本文简单归总下,日常如何在C/C++中生成伪随机数。 在C中生成伪随机数 相关链接:Generating Random Numbers in a Range in C - Geeks…
前言 UUID(Universally Unique Identifier) 是一个128位标识符。 前段时间,隔壁组要求我这边上传的数据包含uuid,并且是 uuidv7 版本。在 C 语言中,生成 uuid 比较常见的库是 libuuid(3) ,这个库支持uuidv1 和 uuidv4,不支持生成 uuidv7。网上找了下,也没看见比较知名的…