一、线程封闭 栈封闭,也就是局部变量表,每个线程单独拷贝一份到线程内存中 线程封闭,需要开发者自己实现,不靠谱
二、无状态的类 无任何成员变量的类,这种类一定是线程安全的。
三、让类不可变 1.加final关键字
2.不提供任何修改成员变量的入口。
3.volatile 不能保证线程安全,只能保证可见性,最适合一个线程写,多个线程读取的场景
4.加锁和CAS sychronized、aqs(Lock等)、原子类
5.TheadLocal 线程隔离