尽量减少对象的可变状态,不可变对象一定是线程安全的,如String。
尽量将欲声明为final类型,除非需要他们是可变的。
执行复合操作时一定要在持有锁的状态下,部分情况可以使用CAS自旋锁。
多个线程访问同一个可变变量时没有同步机制,程序一定会出问题
永远不要故作聪明的推断出不需要使用同步
尽量在文档或使用注解标注出每个类是否是线程安全的
尽量减少对象的可变状态,不可变对象一定是线程安全的,如String。
尽量将欲声明为final类型,除非需要他们是可变的。
执行复合操作时一定要在持有锁的状态下,部分情况可以使用CAS自旋锁。
多个线程访问同一个可变变量时没有同步机制,程序一定会出问题
永远不要故作聪明的推断出不需要使用同步
尽量在文档或使用注解标注出每个类是否是线程安全的