J2SE 5.0在多線程上做了很大的改進(jìn),提供了更多的API,包括:
Atomic variables: A set of classes that provide threadsafe operations without synchronization
Explicit locks: Synchronization locks that can be acquired and released programmatically
Condition variables: Variables that can be the subject of a targeted notification when certain conditions exist
Queues: Collection classes that are thread-aware
Synchronization primitives: New classes that perform complex types of synchronization
Thread pools: Classes that can manage a pool of threads to run certain tasks
Thread schedulers: Classes that can execute tasks at a particular point in time
在《Java Threads》一書中將其歸納為三類:
1. 對(duì)現(xiàn)有功能的新實(shí)現(xiàn);
2. 提供了重要的多線程工具,如線程池(pool)和計(jì)劃(schedule);
3. 最小化同步工具(Minimal synchronization utilities)。
這些功能的妙處我現(xiàn)在自然是無(wú)法體會(huì)得到,但對(duì)于JDK 5.0中提供的這些多線程工具,會(huì)不會(huì)也遭遇JDK 1.4提供的Log API的命運(yùn),因敵不過(guò)第三方工具而成為擺設(shè)呢(至少目前我還在用Log4J,且其也沒(méi)有停止開(kāi)發(fā)的跡象)?
