1. 减少synchronized的范围
同步代码块尽量短,减少同步代码块的执行时间,减少锁的竞争。
synchronized(Demo.class){
System.out.println(“hello!!!”);
}
2. 降低synchronized锁的粒度
将一个锁拆分成多个锁提高并发度,参考HashTable与ConcurrentHashMap内方法区别
3. 读写分离
读取时不加锁,写入和删除时加锁,参考ConcurrentHashMap、CopyOnWriteArrayList、CopyOnWriteSet
代码层对于synchronized的优化方法
最新推荐文章于 2023-12-12 10:37:22 发布