为什么qmap使用skiplist而不是ob rb
我为什么QMap实现了skiplist数据结构而不是rb-tree? 有关于并发数据结构和跳过列表优点的非常有趣的SO线程,优点和缺点。 这确实是非常有意义的对话框,但是QMap不是线程安全的,它不会执行任何互斥锁,以便同步访问开箱即用。 它需要包装或子类。
对我来说,它不是简单的写“手工制作”滑雪列表而不是rb-tree,所以这也不是很明显。
在非线程安全的Qt容器的上下文中是否有任何kill特性?
Tnx提前。
我曾经想过,QMap被设计为线程安全的,因此被实现为基于跳过列表的字典。 显然这似乎不是原因。 它更简单:“可执行文件中的代码更少,每个节点的内存更少。”
事实上,QMap曾经是一个RB树。
资料来源:Qt季刊19,“联合容器”
链接地址: http://www.djcxy.com/p/11253.html