六、SynchronousQueue
SynchronousQueue也是ArrayBlockingQueue的兄弟,不允许peek()、不允许iterator()。个人感觉不是很有用。它还有兄弟PriorityBlockingQueue我也感觉没多大用,只是它里面保存的数据按照自然数来排序了的。
七、ConcurrentHashMap
这是一个安全版的HashMap,里面对数据的安全性进行了严格的控制。使用起来和HashMap一样操作。
八、ConcurrentLinkedQueue
这是一个安全版的LinkedQueue,而LinkedBlockingQueue只是堵塞的,ConcurrentLinkedQueue是专门为多线程并发而设计的。
九、CountDownLatch
这是一个倒数器,使用方法如下,例子:
/*
* Created on 2004-8-25
*/
package test1;
import java.util.concurrent.CountDownLatch;
/**
* @author <a href="mailto:Azure_2003@126.com">Azure</a>
*
*/
public class Myte {
public static void main(String[] args) {
Person person=new Person();
CountDownLatch countDownLatch=new CountDownLatch(9);
countDownLatch.countDown();
}
}
打印的结果为:
8
7
相当于:
int i=9;
--i;
使用这个工具的好处在于:
可以使用它的一个方法:await(3,TimeUnit.SECONDS);如果倒计时没有到0的话,可以使当前线程沉睡3秒之后再继续运行。(待续)