乐观锁和悲观锁
摘要:1、悲观锁 在操作数据之前给数据加锁,直到事物提交,否则不能操作数据; 2、乐观锁 在操作之前对数据不加锁,而是在操作之后进行检查,常见的如给数据加上版本号的方式,操作之前查出数据连同版本号,更新时对版本号加一,在提交之前再查询数据库中的版本号,如果比要更新的这个版本号大,则不去更新; 处理高并发:
阅读全文
posted @
2018-04-20 23:03
_故乡的原风景
乐观锁和悲观锁
摘要:1、悲观锁 在操作数据之前给数据加锁,直到事物提交,否则不能操作数据; 2、乐观锁 在操作之前对数据不加锁,而是在操作之后进行检查,常见的如给数据加上版本号的方式,操作之前查出数据连同版本号,更新时对版本号加一,在提交之前再查询数据库中的版本号,如果比要更新的这个版本号大,则不去更新; 处理高并发:
阅读全文
posted @
2018-04-20 23:03
_故乡的原风景
java中可重入锁和自旋锁
摘要:1、可重入锁: 也称为递归锁,当外层函数获得该锁之后,内层递归函数仍有获取该锁的代码,结果不受影响; java中的synchronized ReentrantLock都是可重的 举例: 2、自旋锁 一个线程直接循环执行一个任务,不触发临界条件,另一个线程控制临界条件,另一个线程执行时可以使前一个线程
阅读全文
posted @
2018-04-16 22:39
_故乡的原风景
分布式锁
摘要:1、实现分布式锁的几种方式: 基于数据库实现分布式锁基于缓存(Redis,memcached,tair)实现分布式锁基于Zookeeper实现分布式锁
阅读全文
posted @
2018-02-07 18:46
_故乡的原风景