还在苦苦敲代码开发APP?你out啦! 试试积木搭建APP吧~

C++实现句柄多版本过期置old的思路

来源:清泛原创     2023-03-17 16:18:37    人气:     我有话说( 0 人参与)

使用MVCC可以解决。轻量级的不使用MVCC的话,思路如下:核心ObjPtrmap<id, ObjPtr> map_;Get的时候返回最新的ObjPtr;当ObjPtr有新版本要更新的时候,将map中对应id的ObjPtr中is

使用MVCC可以解决。

轻量级的不使用MVCC的话,思路如下:

核心ObjPtr
map<id, ObjPtr> map_;

Get的时候返回最新的ObjPtr;
当ObjPtr有新版本要更新的时候,将map中对应id的ObjPtr中is_old置为true,然后将该位置换一个新的ObjPtr;
这样,之前发布出去的对象自动都是old的;map中最新的对象old是false的。这样就完成了一个简单的多版本。
使用的时候,判断句柄是否过期,过期则重新去map拿一次最新句柄。


mvcc 多版本

注:本文为本站或本站会员原创优质内容,版权属于原作者及清泛网所有,
欢迎转载,转载时须注明版权并添加来源链接,谢谢合作! (编辑:admin)
分享到: