昆明java培训
达内昆明广州春城路

18487146383

热门课程

锁的优化及注意事项

  • 时间:2016-07-31
  • 发布:昆明Java培训
  • 来源:达内新闻

锁的优化及注意事项

1、提高锁性能的几点建议

减小锁持有时间、减小锁粒度、读写分离锁替换独占锁、锁分离(不同的操作不同的锁)、锁粗化(锁的粒度太小也不好,会造成线程反复的申请锁)

2、jdk提供的锁策略

锁偏向、轻量级锁、自旋锁、锁消除

3、人手一支笔:ThreadLocal

ThreadLocal把共享变量编程每个线程的内部变量,只有当前线程访问;

4、无锁CAS

CAS的算法过程是这样的:它包含3个参数CAS(V,E,N),V表示要更新的变量,E表示预期的值,N表示新值。仅当V等于E时,才把V更新为N,如果不等,表示有其他的线程做了更新,则当前线程什么都不做。最后,CAS返回当前V的真实值;

但是CAS也有可能出现问题,即如果一个线程改了值,但是又被另一个线程改了回去,则当前线程会认为其值没有变化过进而对其进行更新,在有的应用可能会出现问题,可以在增加一个时间戳参数来保证;

上一篇:Java并发包
下一篇:java进阶(三十八)快速排序

腾讯游戏Switch独立销量领先——昆明达内

达内java语言编程学以致用

苹果技术:A11芯片上新菜【达内培训】

达内培训之国产手机vivo领跑,小米再上榜

选择城市和中心
贵州省

广西省

海南省