除了不可变类是自动线程安全的,另外就是在类中带有synchronized关键字的也是为了使这个类变成线程安全的.避免并发问题的两种手段也就这两种,
不变性和隔离性,synchronized就是为了实现隔离性,以使并行的访问变为线性的访问.
如果一个可变类没有一个synchronized关键字,他肯定不是线程安全的,HashMap就是这样的可变类,并且没有synchronized.带有synchronized关键字的可能是线程安全的类型,Hashtable中的好多方法带有synchronized,并且它是线程安全的.
synchronize这个关键字就是为了让一个类线程安全。
热门工具 换一换