Java并发实用:util.concurrent包驱动简化开发

0 下载量 59 浏览量 更新于2024-09-04 收藏 52KB DOC 举报
"Java理论与实践:并发在一定程度上使一切变得简单"这篇文章探讨了在软件开发过程中,尤其是在多线程应用中,如何利用Java的并发工具包`util.concurrent`来简化复杂性。文章指出,当项目需求涉及XML解析器、文本索引、搜索引擎、正则表达式编译器、XSL处理器或PDF生成器等基础设施服务时,通常开发者倾向于使用现成的商业或开源解决方案,而非自行编写,因为成熟的现成实现通常性能良好且易于集成。 `util.concurrent`是Doug Lea提供的一个高质量、广泛使用的并发实用程序库,它是Java标准库的一部分,尽管在JDK 1.5之前作为JSR 166的组成部分引入。尽管等待官方版本可能会让一些开发者望眼欲穿,但其实可以提前利用这个开源包来提升项目效率。文章提倡软件工程师应遵循牛顿的名言,即在必要时利用前人的成果,但在某些情况下,过度定制的解决方案可能并不比通用实现更为适用。 文章进一步剖析了为什么许多项目团队倾向于重新编写基础服务如日志记录、数据库连接管理、高速缓存和任务调度等,即使它们已经存在。作者认为,虽然定制化的版本可能具有某些特定优势,但总体而言,通用的、已有的解决方案在大多数应用场景下已经足够满足需求,而开发自定义版本的成本和复杂性往往超过了其带来的收益。 作者特别提到了XSL处理器的例子,表面上看这类工具的开发似乎不难,但实际上实现一个稳定、高效的XSL处理器需要深入理解并发和并行处理原理,以及潜在的性能优化。由于这些复杂性,反复发明车轮的现象在低级框架服务中尤为常见。 总结来说,本文强调了在Java并发编程中,正确选择和使用`util.concurrent`等现成工具包的重要性,鼓励开发者在处理基础设施服务时,优先考虑利用成熟的、经过广泛测试的库,从而提高工作效率和代码质量。