招募译者翻译并发数据结构
什么是并发数据结构? 引用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>>,期待大家共同参与翻译。
论文目录
- Designing Concurrent Data Structures………….
- Performance
- Blocking Techniques
- Nonblocking Techniques
- Complexity Measures
- Correctness
- Verification Techniques
- Tools of the Trade
- Shared Counters and Fetch-and-φ Structures ….. 1-12
- Stacks and Queues ……………………………… 1-14
- Pools ……………………………………………. 1-17
- Linked Lists…………………………………….. 1-18
- Hash Tables …………………………………….. 1-19
- Search Trees…………………………………….. 1-20
- Priority Queues…………………………………. 1-22
- Summary ……………………………………….. 1-23
如何翻译
- 你可从以上几篇文章中挑选某一篇进行翻译,翻译时间最好是一个星期以内,翻译前请发邮件到125353769@qq.com,联系人为梁海舰。
- 译者署名的顺序由翻译的字数确定。
- 校对:与其他译者交叉校对+本站编辑校对,互相讨论翻译与技术问题。
- 如何提交:在并发编程网用QQ登陆,然后发布译文。
- 建议。建议多增加译者注解,无论对于翻译还是读者都有好处。
注意事项
- 本文档的传播是基于学习研究而非商业,因此翻译纯属兴趣和分享精神。
- 对译者的要求,因为我们是出于学习和研究目的,所以对译者没有很高的要求,只要你只要你对并发编程感兴趣,并且愿意用心来翻译文章,翻译完的文章首先自己能读明白就行,放心我们会进行校对。
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 招募译者翻译并发数据结构
已看 有时间的话 试试翻译下
请联系125353769@qq.com,联系人为梁海舰。
目前还有少量片段尚未翻译。
其余的我正在校对。
十分感谢您的关注!