1,volatile可见性,并发框架中大量使用。但是并不能保证原子性,并不能替代synchronized。
2,java1.8后synchronized进行了优化,没有那么重了。
3,AtomicInteger原子性。但是多个方法,并不具备原子性。
4,同步代码块中的语句越少越好。
5,避免将锁定对象的引用,变成另外一个对象。
6,不要以字符串常量作为锁定对象。有可能和类库使用了同一把锁。
1,volatile可见性,并发框架中大量使用。但是并不能保证原子性,并不能替代synchronized。
2,java1.8后synchronized进行了优化,没有那么重了。
3,AtomicInteger原子性。但是多个方法,并不具备原子性。
4,同步代码块中的语句越少越好。
5,避免将锁定对象的引用,变成另外一个对象。
6,不要以字符串常量作为锁定对象。有可能和类库使用了同一把锁。