2011-02-27 61 views
3

我想学习java.util.concurrent库的功能(所以一切旧的,或非特定于Java是我的选择)。Java并发 - 现代的例子,教程,excersies,一步一步的应用程序

我知道关于并发和多线程的基础知识和理论,我是而不是寻找理论。

我正在阅读Java Concurrency in Practice。说实话,我对这本书中的例子非常失望。它们对我来说太短暂,简单和“虚拟”。我正在寻找一些很好的Java 5+并发示例和解释。

有没有这样的事情?我很担心,如果我很快就不使用我在JCIP中学到的东西,我会忘记它:/

+1

你能描述一个你感兴趣的用例吗?学习任何东西的最好方法就是做到这一点并打破它。 – Sumit 2011-02-27 16:52:51

+0

@Sumit:像使用java.util.concurrent的许多(不仅仅是一个特定的)特性一步一步地构建并发应用程序。 – Xorty 2011-02-27 17:09:22

+0

也许你会发现[JavaSpecialists](http://www.javaspecialists.eu/archive/Issue146.html)有趣。 – superfav 2011-02-28 01:46:59

回答

1

肯定是通过申请来学习。例如,您可以制作自己的实时在线股票交易系统甚至是拍卖系统。类似的东西,将彻底测试你的概念。或者你可以参与开源项目,这些项目专注于这些类型的应用程序。

2

为什么不只是在GitHub上搜索(here is an example)?

我没有从属关系,顺便说一句。但是您可以在描述中找到使用“java并发”的项目,或者参考代码中的库。

另一种选择是考虑你最喜欢的Java框架。例如Tomcat或Quartz(尽管我不知道他们是否使用Java 5并发性)。这样的框架将是很好的例子,因为它是现实世界的东西。

+0

谢谢:)我一定会去通过一些代码。但仍然不是我正在寻找的东西。 – Xorty 2011-02-27 18:00:04

0

我不同意你对Java并发实践的看法,不过,你可能还想看看“多处理器编程的艺术“由M. Herlihy和N. Shavait撰写。

我推荐两本书来更多地了解并发的基本原理;而不是仅仅浏览一些代码片段。

0

考虑到我们正在谈论“共享状态并发

看看这两个框架的执行:

LMAX Disruptor

他们非常漂亮,使用的缓存行的概念和环形缓冲区来实现极高的并发水平。当然,他们依赖并发utils中的原子类以及他们自己的基于环缓冲区的概念。

Google Guava Concurrent package

他们装饰期货和执行器接口提供现实世界的并发事件驱动的原语。基础架构是对java并发类和设计模式的很好理解。

共享状态并发不是唯一的风格,您可能还想要检查基于Actor的框架,例如AKKA正在做。这种并发编程被称为消息传递并发性

相关问题