在Java中绝大部分的集合像什么ArrayList、HashMap等绝大部分不是线程安全的。仅有的线程安全的实现,像HashTable、Vector等在性能上又不好。但是不要怕啊。我们大Java还有并发包(Java.util.concurrent)啊,为高度并发需求提供了全面安全的支持。
一、在传统的集合框架中,如何解决线程安全问题。
当然,除了Hashtable等同步容器,我们可以使用同步包装器创建一个线程安全的容器。但是这种方式用的是非常粗的同步方式,在高并发情况下,性能比较低下。
具体的位置如下
下面楼主写了有一些实践的代码:
package com.newframe.controllers.api;
import java.util.*;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.SynchronousQueue;
/**
* 测试传统线程安全的集合类
*/
public class TestTraditionSyn {
public static void main(String[] args) {
/**
* 1。在传统的集合框架中。
* 除了Hashtable这个是线程安全的同步容器。
* 他的实现基本上就是将