水木社区手机版
首页
|版面-C++程序设计语言(CPlusPlus)|
新版wap站已上线
返回
1/1
|
转到
主题:有没有支持 COW 的 B+ 树实现?
1楼
|
solrex
|
2023-07-06 07:27:32
|
展开
你这不就是典型的双buffer修改吗?替换指针的时候用一个cas指令,然后延迟释放一下旧树不就完了?
【 在 hgoldfish 的大作中提到: 】
: 我想在内存里面维护一个树型的数据结构。它的读比较多,但是写比较少,另外写的过程比较长。所以我希望能够实现 COW,写时启动事务,不影响其它客户端读树,直到 commit 时,再修改 B 树的根节点,代替成新树。
:
: 有这种现成的算法库吗?
发自「快看水母 于 V2134A」
--
FROM 123.116.113.*
8楼
|
solrex
|
2023-07-23 06:29:29
|
展开
如果不用引用计数,最简单的办法是估计你最长的请求处理时间,然后再延长两三倍。
【 在 NewMonk 的大作中提到: 】
: 这个“延迟释放一下旧树”,延迟到什么时候合适?
: 怎么判断别人的人是否在读这个旧节点?
发自「快看水母 于 V2134A」
--
FROM 123.116.126.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版