本节书摘来自异步社区《代码整洁之道》一书中的第13章13.4节了解Java库,作者【美】Robert C. Martin,更多章节内容可以访问云栖社区“异步社区”公众号查看。
13.4 了解Java库相对于之前的版本,Java 5提供了许多并发开发方面的改进。在用Java 5编写线程代码时,要注意以下几点:
使用类库提供的线程安全群集;使用executor框架(executor framework)执行无关任务;尽可能使用非锁定解决方案;有几个类并不是线程安全的。线程安全群集当Java还年轻时, Doug Lea编写了Concurrent Programming in Java(中译版《Java并发编程》)教程[8],同时开发了几个线程安全群集,这些代码后来成为JDK中java.util.concurrent包的一部分。该代码包中的群集对于多线程解决方案是安全的,执行良好。实际上,在几乎所有情况下,ConcurrentHashMap实现都比HashMap表现得好。它还支持同步并发读写,也拥有支持非线程安全的合成操作的方法。如果部署环境是Java 5,可以采用ConcurrentHashMap。
还有几个支持高级并发设计的类。以下是其中一小部分,如表13-1所示。
建议:检读可用的类。对于Java,掌握java.util.concurrent、java.util.concurrent.atomic和java.util.concurrent.locks。
相关资源:敏捷开发V1.0.pptx