招募译者翻译并发数据结构

什么是并发数据结构? 引用wiki上的定义

In computer science, a concurrent data structure is a particular way of storing and organizing data for access by multiple computing threads (or processes) on a computer.

简而言之,并发数据结构即允许多线程同时访问(读和写)的数据结构。

并发数据结构中的算法的设计原则主要分两大类,liveness(活性)和safety(安全性),这两个概念最初来源于分布式系统设计。其中liveness特性保证算法可以执行,而safety保证算法最终得到想要的结果。举一个例子:

问题描述:

对一段序列进行排序,得到降序序列

safety特性:

当算法结束时,得到的序列为输入序列的降序序列。

liveness特性:

最终算法可以运行结束,并返回一段序列。

事实上Java.util.concurrent包中一些数据结构就是按照并发数据结构的原则来设计的,比如ConcurrentLinkedQueue,是一个lock-free的双端队列,ConcurrentSkipListMap则是一个lock-free的跳表。Lock-free就是liveness的一个具体表现。为了让大家更加了解并发数据结构的设计原则和设计技巧,这里推荐了一篇综述性质的论文<<concurrent data structure>>,期待大家共同参与翻译。

论文目录

如何翻译

注意事项

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/140779.html

(0)
上一篇 2021年9月5日
下一篇 2021年9月5日

相关推荐

发表回复

登录后才能评论