Java基础——多线程之线程安全的类
线程安全的类
StringBuffer
1.线程安全,可变的字符序列
2.从jDK5开始,被StringBuilder替代。通常应该使用Stringbuilder类,因为它支持所有相同的操作,但是它更快,因为它不执行同步
Vector
1.从Java2平台v1.2起,该类改进了List接口,使其成为Java CollectionsFramework的成员。与新的集合实现不同,Vector被同步,
如果不需要线程安全的实现,建议使用ArrayList代替Vector,但多线程也不会用Vector,它被一个方法代替了
//static List synchronizedList(List list)
//返回由指定列表支持的同步(线程安全)列表。
ArrayList al=new ArrayList();
List strings = Collections.synchronizedList(new ArrayList());
Hashtable
1.该类实现了一个哈希表,它将键映射到值。任何非null对象都可以用作键和值
2.从Java2平台v1.2起,该类进行了改进,实现了Map接口,使其成为Java Collections Framework的成员
与新的集合实现不同,Hashtable被同步,如果不需要线程安全的实现,建议使用HashMap代替Hashtable,但多线程也不会用Hashtable,它被一个方法代替了
//static Map synchronizedMap(Map m)
//返回由指定地图支持的同步(线程安全)映射
HashMap hm=new HashMap();
Map Map = Collections.synchronizedMap(new HashMap());