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

简介:

什么是并发数据结构? 引用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>>,期待大家共同参与翻译。

论文目录

  1. Designing Concurrent Data Structures………….
    • Performance
    • Blocking Techniques
    • Nonblocking Techniques
    • Complexity Measures
    • Correctness
    • Verification Techniques
    • Tools of the Trade
  2. Shared Counters and Fetch-and-φ Structures ….. 1-12
  3. Stacks and Queues ……………………………… 1-14
  4. Pools ……………………………………………. 1-17
  5. Linked Lists…………………………………….. 1-18
  6. Hash Tables …………………………………….. 1-19
  7. Search Trees…………………………………….. 1-20
  8. Priority Queues…………………………………. 1-22
  9. Summary ……………………………………….. 1-23

如何翻译

  1. 你可从以上几篇文章中挑选某一篇进行翻译,翻译时间最好是一个星期以内,翻译前请发邮件到125353769@qq.com,联系人为梁海舰。
  2. 译者署名的顺序由翻译的字数确定。
  3. 校对:与其他译者交叉校对+本站编辑校对,互相讨论翻译与技术问题。
  4. 如何提交:在并发编程网用QQ登陆,然后发布译文。
  5. 建议。建议多增加译者注解,无论对于翻译还是读者都有好处。

注意事项

  1. 本文档的传播是基于学习研究而非商业,因此翻译纯属兴趣和分享精神。
  2. 对译者的要求,因为我们是出于学习和研究目的,所以对译者没有很高的要求,只要你只要你对并发编程感兴趣,并且愿意用心来翻译文章,翻译完的文章首先自己能读明白就行,放心我们会进行校对。
目录
相关文章
|
存储 安全 NoSQL
Java并发Map的面试指南:线程安全数据结构的奥秘
在计算机软件开发的世界里,多线程编程是一个重要且令人兴奋的领域。然而,与其引人入胜的潜力相伴而来的是复杂性和挑战,其中之一就是处理共享数据。当多个线程同时访问和修改共享数据时,很容易出现各种问题,如竞态条件和数据不一致性。
|
4月前
|
缓存 安全 Java
全面解读ConcurrentHashMap:Java中的高效并发数据结构
全面解读ConcurrentHashMap:Java中的高效并发数据结构
1529 2
|
5月前
|
存储 安全 C++
《C++ Concurrencyin Action》第6章--基于锁的并发数据结构设计
《C++ Concurrencyin Action》第6章--基于锁的并发数据结构设计
《C++ Concurrencyin Action》第6章--基于锁的并发数据结构设计
|
5月前
|
存储 安全 算法
《C++ Concurrencyin Action》第7章--无锁并发数据结构设计
《C++ Concurrencyin Action》第7章--无锁并发数据结构设计
|
存储 消息中间件 算法
多线程和并发编程(4)—并发数据结构之BlockingQueue
多线程和并发编程(4)—并发数据结构之BlockingQueue
81 0
|
存储 安全 Go
同样作为非并发安全的数据结构,slice和map在有并发安全问题时,为什么表现相差那么大
同样作为非并发安全的数据结构,slice和map在有并发安全问题时,为什么表现相差那么大
68 0
|
Java 应用服务中间件 C语言
打通 Java 任督二脉 —— 并发数据结构的基石
每一个 Java 的高级程序员在体验过多线程程序开发之后,都需要问自己一个问题,Java 内置的锁是如何实现的?最常用的最简单的锁要数 ReentrantLock,使用它加锁时如果没有立即加成功,就会阻塞当前的线程等待其它...
1126 0