OS 乐观/悲观锁

OS 乐观/悲观锁

乐观/ 悲观锁 :

  • 悲观锁: 先上锁, 再访问共享资源
  • 乐观锁: 先修改共享资源,再验证是否冲突, 冲突就放弃

乐观锁的应用 :

  • SVN/ Git , 先编辑代码, 提交时,检查版本号判断是否冲突
  • 场景 : 冲突概率低,且加锁成本高, 才考虑用乐观锁

CAS : 乐观锁

自旋锁 :

  • 悲观锁, 先拿到锁, 才修改数据
  • 基于 while(1){CAS}, 一直等待到拿到锁

你可能感兴趣的:(OS,jvm,hadoop,大数据,sql,flink)