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。
时间: 2024-09-29 16:57:27