java并发分配

时间:2010-05-12 10:02:32

标签: java concurrency

我是Java EE开发人员,我希望获得并发开发的技能。
你能为我提供一些任务,想法或其他 - 只是为了学习和训练并发编程吗?

4 个答案:

答案 0 :(得分:6)

有一本关于Java并发的精彩书籍叫做“Java Concurrency in Practice”。我认为这是深入了解高级并发的最佳起点。

Java Concurrency in Practice(亚马逊)

答案 1 :(得分:3)

首先开始编码,以了解可能出现的一些问题。

为了帮助您入门,请尝试编写以下内容:

  1. 您如何实现简单的阻止队列?
  2. 你如何阻止一个帖子?
  3. 您如何确保一次只有一个线程可以读取和写入一个集合?
  4. 如果在另一个线程迭代它时修改集合会发生什么。
  5. 等等
  6. 刚上网,也许可以搜索有关并发的面试问题。

答案 2 :(得分:1)

我在博客中介绍了Spring框架3和Java EE 6 here的新并发解决方案。

它解释了如何使用@Async或Java EE的@Asynchronous注释以声明方式执行异步方法。

这些注释只是抽象出复杂并发逻辑的一种方法。

您可以将Spring配置为使用优秀的Executor类来执行并发逻辑。 Exceutor类是在Java 5中引入的,并在Java Concurrency in Practice一书中与java.util.concurrent包中的其他类一起进行了解释。

本文还演示了如何在代码和Spring框架中使用相同的Executor服务。这使您可以为程序化并发逻辑和应用程序容器处理的并发逻辑使用相同的线程池。

另外,您可以从Java文档中学到很多东西。阅读并发包中的所有类,尤其是Executor class。这至少是我最常用的文档。

答案 3 :(得分:0)

我建议看看JCSP。 http://www.cs.kent.ac.uk/projects/ofa/jcsp/

使用JCSP可以证明您的模型无死锁。

IBM有关于它的更多信息http://www.ibm.com/developerworks/java/library/j-csp1.html