悲观锁:悲观的认为每一次操作都会造成更新丢失的问题,所以在每次查询都会加上排它锁 * from
select * from table_A for update;
乐观锁:乐观锁会乐观的认为每次查询都不会造成更新丢失,利用版本字段控制(使用乐观锁需要对应的加上版本控制列)
重入锁:也叫递归锁,指的是同一线程外层函数获得锁之后,内存地怪函数仍然有获取该锁的代码,但不受影响
ReetrantLock和synchronized都是可重入锁。
读写锁:
CAS无锁机制:
自旋锁:
分布式锁: