skew-binomial-queues

时间:2024-06-07 21:50:57
【文件属性】:

文件名称:skew-binomial-queues

文件大小:14KB

文件格式:ZIP

更新时间:2024-06-07 21:50:57

Go

线程安全无锁优先级队列 背景 该项目基于Chris Okasaki博士的论文“ 。 您也可以阅读,以获取有关存储库的背景,动机和分析信息。 该存储库中的基本基本数据结构是“引导偏斜二项式队列”,在Okasaki博士的论文中对此进行了概述。 在更高的抽象级别上,存在一种单独的数据结构,简洁地标记为“并行队列”,它以牺牲绝对正确性为代价,使线程安全(和无锁!)并发出队操作成为可能。 数据结构的线程安全版本背后的动机来自优先队列的一般实用的用例,其中: 线程安全的并发访问是可取的 不一定需要在饱和环境中返回绝对最高优先级的项目 还值得注意的是,跳过列表将提供优先级队列的一般可比较的实现,但是enqueue()和dequeue()在运行时复杂度方面在O(1)和O(log N)之间交换。 但是,此处实现的优先级队列具有明显的优势,即meld()作为恒定时间操作受支持,使其成为常规合并单独的优先级


【文件预览】:
skew-binomial-queues-master
----threadsafelist.go(7KB)
----skewbinomial.go(14KB)
----LICENSE(1KB)
----synchronous.go(777B)
----parallel.go(8KB)
----.gitignore(16B)
----priorityq_test.go(11KB)
----public.go(406B)
----README.md(3KB)

网友评论