第一个:用Thread.join只能部分的实现CountDownLatch的功能. 这个看看CountDownLatch的java doc就可以了.第二个:Thread.join用了Object.wait/notify机制. java.lang.Thread.join(long millis) java doc里写道:This implementation uses a loop of this.wait calls conditioned onthis.isAlive. As a thread terminates the this.notifyAll method isinvoked. It is recommended that applications not use wait, notify,or notifyAll on Thread instances.Effective Java第二版里说的很好, wait/nofify 和java.util.concurrent提供的功能比起来, 就好像是 并发汇编语言(concurrency assembly language) 一样. 更难用而且也更容易出bug.