当前位置: 首页 > news >正文

免费网站建设系统优化大师

免费网站建设系统,优化大师,去外包公司的利与弊,快速网站开发课程class SkipList class SkipList 是Level DB中的重要数据结构,存储在memtable中的数据通过SkipList来存储和检索数据,它有优秀的读写性能,且和红黑树相比,更适合多线程的操作。 SkipList SkipList还是一个比较简单的数据结构&a…

class SkipList

class SkipList 是Level DB中的重要数据结构,存储在memtable中的数据通过SkipList来存储和检索数据,它有优秀的读写性能,且和红黑树相比,更适合多线程的操作。

SkipList 

SkipList还是一个比较简单的数据结构,它首先是一个List(链表),读写操作也和List相差不大。SkipList的复杂之处是每一个Node有一个高度的信息,带有这个高度信息的Node,可以看成一个Node Array [Height],其中的Height小于或等于SkipList 的 Max Height,如图1所示。

                                                           图1. Max Height = 4 's SkipList

当我们需要往这个SkipList里面添加一个Node的时候,这个新的Node他有不同的概率得到Height,如图2所示,key = 7 的 node,它有probability(概率)= p ,height = 1,有probability(概率)= (1 - p) * p, height = 2,有probability(概率)= (1 - p)* (1 - p) * p, height = 3,最后,它有probability(概率)= 1 - other probability,height = 4。

图2. Max Height = 4 's SkipList insert key = 7

Level DB 中的实现

Level DB中实现了class SkipList,下面来梳理总结一下这个SkipList的一些特点。

原子操作

在操作上,Level DB中的SkipList的数据都采用了原子操作(且仅支持find 和 insert 不支持delete),例如std::atomic<Node*> next_,std::atomic<int> max_height_ ,由于这些原子操作,所以在多线程的情况下不再需要额外的mutex操作。

memory order

对于原子操作,memory order 是在多核处理器上,每一个CPU看到的不同的上下文的表征。在SkipList里面对于单纯的原子互斥操作使用了std::memory_order_relaxed。而SkipList并没有使用lock锁住一段代码,所以为了安全当读一个元素(Next操作),和已有的Node改变next的指针(SetNext),使用了std::memory_order_release 和 std::memory_order_acquire。也就是在读的时候要考虑到写的前序上下文都已经完成。

http://www.ds6.com.cn/news/59070.html

相关文章:

  • 作品展示的网站seo快速工具
  • 十大搜索引擎排名宁波seo网站推广
  • 手机微信网站怎么做的百度seo不正当竞争秒收
  • 长春做网站seo买卖友链
  • 东莞网站建设设计重庆seo研究中心
  • 小白如何做网站近期时政热点新闻20条
  • 做网站可以提些什么意见百度竞价返点一般多少
  • 网站建设的目标定位百度搜索网页版入口
  • wordpress可以制作什么网站微信小程序开发文档
  • c#+开发网站开发怎样留别人电话在广告上
  • 网站建设中源码编程同样重要找网站设计公司
  • 企业网站建设报价清单厦门seo搜索排名
  • 百度网站建设汕头网站建设方案优化
  • 如何做公众号影视网站网络推广法
  • 怎么做最简单的网站seo服务外包价格
  • 自助建站加盟有免费推广平台
  • 武进网站建设百度提交入口
  • 网站建设预计费用哈尔滨百度公司地址
  • 昆山设计网站公司大学生网络营销策划方案书
  • bootstrap 企业网站模板全国知名网站排名
  • 镇江网站建设包括哪些合肥网络推广服务
  • 雅安做网站的公司域名服务器地址查询
  • 长沙网站营销湖南seo排名
  • html5网站怎么建设后台怎么弄软文营销平台
  • 网站模板 代码免费seo顾问阿亮
  • 佛山网站优化步骤百度站长平台工具
  • 如何维护给做网站的客户黑科技推广软件
  • 做可视化的网站品牌营销理论
  • 中国vs菲律宾网络seo优化公司
  • 哈尔滨网站建设那家好做网络推广有哪些平台