而最好使用现有的、已经知道能工作的实现,例如在下面的 无须编写您自己的池中讨论的 util.concurrent 包。...回页首 无须编写您自己的池 Doug Lea 编写了一个优秀的并发实用程序开放源码库 util.concurrent ,它包括互斥、信号量、诸如在并发访问下执行得很好的队列和散列表之类集合类以及几个工作队列实现...您无须尝试编写您自己的线程池,这样做容易出错,相反您可以考虑使用 util.concurrent 中的一些实用程序。参阅 参考资料以获取链接和更多信息。...util.concurrent 库也激发了 JSR 166,JSR 166 是一个 Java 社区过程(Java Community Process (JCP))工作组,他们正在打算开发一组包含在 java.util.concurrent...如果您发现您的应用程序需要线程池,那么请考虑使用 util.concurrent 中的某个 Executor 类,例如PooledExecutor ,而不用从头开始编写。
在 1.4 版中,HashMap 类实现使用一个不同且更复杂的哈希函数,该函数基于 Doug Lea 的 util.concurrent 程序包(稍后我将更详细地再次介绍 Doug Lea 的类)。...下载 Doug Lea 的 util.concurrent 程序包 (http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent...他创建了一组公共领域的程序包(统称 util.concurrent),该程序包包含许多可以简化高性能并行编程的实用程序类。...util.concurrent 程序包构成了 JSR166 的基础;JSR166 已经开发了一个包含在 Java 1.5 版中的并发实用程序,而 Java 1.5 版将把这些 Map 包含在一个新的 java.util.concurrent
并发容器与Collections.synchronizedXxx()同步容器等相比,util.concurrent中引入的并发容器主要解决了两个问题:根据具体场景进行设计,尽量避免synchronized...util.concurrent中容器在迭代时,可以不封装在synchronized中,可以保证不抛异常,但是未必每次看到的都是"最新的、当前的"数据。
阻塞队列 (BlockingQueue)是Java util.concurrent包下重要的数据结构,BlockingQueue提供了线程安全的队列访问方式:当阻塞队列进行插入数据时,如果队列已满
他写了util.concurrent包。著有并发编程圣经Concurrent Programming in Java: Design Principles and Patterns 一书。
附录 学习 util.concurrent 包,真是感慨 Doug Lea 的智慧。
* fast-fail解决办法:通过util.concurrent集合包下的相应类去处理,则不会产生fast-fail事件。
FJTask 作为util.concurrent软件包的一部分,目前可以在 http://gee.cs.oswego.edu/ 获取到。 2....更多实现的细节文档可以在util.concurrent并发包中查看。...这些程序是从util.concurrent包里的示例代码改编而来,用来展示Fork/Join框架在解决不同类型的问题模型时所表现的差异,同时得到该框架在一些常见的并行测试程序上的测试结果。 ?
(2)并发容器 与Collections.synchronizedXxx()同步容器等相比,util.concurrent中引入的并发容器主要解决了两个问题: 1)根据具体场景进行设计,尽量避免synchronized...util.concurrent中容器在迭代时,可以不封装在synchronized中,可以保证不抛异常,但是未必每次看到的都是"最新的、当前的"数据。
他写了util.concurrent包。著有并发编程圣经《Concurrent Programming in Java: Design Principles and Patterns》一书。
而最好使用现有的、已经知道能工作的实现,例如 util.concurrent 包。
JSR-166是来自于Doug编写的util.concurrent包。 值得一提的是: Doug Lea也是JCP (Java社区项目)中的一员。
年发布的第一个被广泛应用的collections;2004年所推出的Tiger广纳了15项JSRs(Java Specification Requests)的语法及标准,其中一项JSR-166是来自于Doug编写的util.concurrent
util包下的集合类都是快速失败的,不能再多线程下修改;util.concurrent下的容器都是安全失败的,可以用于并发修改。
JSR-166是来自于Doug编写的util.concurrent包。 值得一提的是: Doug Lea也是JCP (Java小区项目)中的一员。
在util.concurrent中有更详细的实现文档。
领取专属 10元无门槛券
手把手带您无忧上云