摘要:
开头先说, 这篇文章没有什么中心思想, 只是为了记录一下我对RCU的理解以及思考. 如有错误偏颇, 欢迎评论指正. RCU(Read-Copy-Update) RCU是Linux中常用的一种同步机制, 用于读多写少的场景. 它的读取很轻量, 几乎没有什么开销, 但是也有一些限制, 它不保证读取到的是 阅读全文
posted @ 2024-01-29 00:32
RiversJin
阅读(34)
评论(0)
推荐(0)
摘要:
atomic_cell.rs AtomicCell<T>的数据结构很简单 #[repr(transparent)] pub struct AtomicCell<T> { value: UnsafeCell<MaybeUninit<T>>, } AtomicCell在C++中实际上就是std::ato 阅读全文
posted @ 2024-01-29 00:31
RiversJin
阅读(76)
评论(0)
推荐(0)
摘要:
经常在C++中写引用计数的朋友都知道(误), 如果一个class/struct被const修饰, 那么无法修改里面的元素, 但是, 可以通过mutable修饰某个成员, 相当于开了个洞, 取消掉其const限定, 实现修改被const限定结构体的内部成员. 这种限制不仅作用于C++类型系统, 同时也 阅读全文
posted @ 2024-01-29 00:30
RiversJin
阅读(36)
评论(0)
推荐(0)
摘要:
Rust 宏编程 相对于C的宏, Rust的功能要强大的多, 但是也更加复杂. 由于Rust要求一切都是"explicit", 所以, 它没有C++的各种隐式类型转换, 也没有重载, 并且也没有变长参数. 但是, 如果没有这些, 那么又很难做到"人体工程学", 所以, Rust提供了宏来解决这些问题 阅读全文
posted @ 2024-01-29 00:29
RiversJin
阅读(113)
评论(0)
推荐(0)
摘要:
我之前的文章中, 曾经介绍过无栈协程是如何实现的. 通常来说, 无栈协程需要编译器辅助将异步函数切分成多个"块", 如果没有编译器的帮忙的话, 通常我们会将这种无栈协程称为 有限状态机. 这次, 我们来实现一个简单的有栈协程. 与无栈协程不同, 有栈协程的侵入性会小很多, 不需要编译器的帮忙, 只需 阅读全文
posted @ 2024-01-29 00:27
RiversJin
阅读(135)
评论(2)
推荐(0)
摘要:
此处关于公式的排版有些散乱, 可以去看这个 https://zhuanlan.zhihu.com/p/645376690 Overview EC(Erasure Code), 中文一般称为纠删码, 所谓"纠删"是指, 它可以"纠正删除", 即补全相对于最初缺失的数据, 而不在已有的数据中检查出错误来 阅读全文
posted @ 2024-01-29 00:25
RiversJin
阅读(188)
评论(0)
推荐(0)
摘要:
单例模式是一种常用的软件设计模式, 它需要保证一个类仅有一个实例, 并提供一个访问它的全局访问点. 通常来说, 单例模式的初始化时机分为两种, 一个是在程序初始化时, 即(饿汉式), 另一个是在第一次使用时(懒汉式). 饿汉式的实现比较简单, 只要定义一个全局静态变量即可, 但是它的缺点是不管你用不 阅读全文
posted @ 2024-01-29 00:23
RiversJin
阅读(30)
评论(0)
推荐(0)
摘要:
CRC32c(CRC32-Castagnoli), 是CRC32诸多变种中的一种, 由于其在之前主要应用于iSCI协议中, 所以CRC32-C又名crc32_iscsi(emm, 其实这是Intel给它起的名字, 在intel/isa-l代码中crc32_iscsi其实就是CRC32-Castagn 阅读全文
posted @ 2024-01-29 00:20
RiversJin
阅读(215)
评论(0)
推荐(0)
摘要:
目前, C++20, Rust 已经都支持协程特性了. 可以说, 现在已经没有多少语言不支持协程. 那么, 什么是协程, 是不是应该在全部场景下All In 协程呢? 这里, 我按照我对这些模型的理解, 尝试探究一下各自的关系, 如果有哪里出现纰漏, 欢迎吐槽. 线程 首先, 谈到线程, 我们肯定是 阅读全文
posted @ 2024-01-29 00:18
RiversJin
阅读(40)
评论(0)
推荐(0)
摘要:
title: Atomic Variable Demo date: 2022-12-07 22:50:55 tags: 接上一篇文章, 这一篇我们来用一些示例程序, 来探讨一下在不同平台下原子变量的行为. 示例代码库我放在了 https://github.com/RiversJin/AtomicVa 阅读全文
posted @ 2024-01-29 00:14
RiversJin
阅读(19)
评论(0)
推荐(0)

浙公网安备 33010602011771号