java基础专题:5. 如何实现线程安全
2019-02-17 本文已影响0人
北交吴志炜
1.不共享变量,或者共享不可变对象(String,Long,Double,BIgDecimal,或者对对象的所有属性加final)
2.加锁(sychronized,reentrantlock等)
3.cas(Unsafe类的相关方法)
4.ThreadLocal
5.利用happen before原则
1.不共享变量,或者共享不可变对象(String,Long,Double,BIgDecimal,或者对对象的所有属性加final)
2.加锁(sychronized,reentrantlock等)
3.cas(Unsafe类的相关方法)
4.ThreadLocal
5.利用happen before原则