线程安全的散列表类:
java.util.Vector/java.util.Hashtable
非线程安全的散列表类:
java.util.ArrayList/java.util.HashMap
在需要做线程同步以及要求线程安全的场合,开发人员应尽量使用线程安全的散列表类;
在不需要线程安全的场合,为了提高系统性能,开发人员应尽量选用非线程安全的散列表类;
因为线程安全的散列表会将原本可以并行处理的多线程进行排队,将转化为串行处理,从而导致系统性能下降。
ArrayList类可以通过下列方法标识成线程安全的类:
List list = Collections.synchronizedList(new ArrayList());
java.util.Vector/java.util.Hashtable
非线程安全的散列表类:
java.util.ArrayList/java.util.HashMap
在需要做线程同步以及要求线程安全的场合,开发人员应尽量使用线程安全的散列表类;
在不需要线程安全的场合,为了提高系统性能,开发人员应尽量选用非线程安全的散列表类;
因为线程安全的散列表会将原本可以并行处理的多线程进行排队,将转化为串行处理,从而导致系统性能下降。
ArrayList类可以通过下列方法标识成线程安全的类:
List list = Collections.synchronizedList(new ArrayList());