排序
如何用Redis实现分布式锁,其有哪些优缺点?
分布式锁是用于分布式环境下并发控制的一种机制,用于控制某个资源在同一时刻只能被一个应用所使用。如下图所示: 分布式锁 Redis 本身可以被多个客户端共享访问,正好就是一个共享存储系统,可...
synchronized和reentranlock的区别
synchronized 和 ReentrantLock 都是 Java 中提供的可重入锁: 用法不同:synchronized 可用来修饰普通方法、静态方法和代码块,而 ReentrantLock 只能用在代码块上。 获取锁和释放锁方式不同:...
MySQL数据库有哪些锁种类,以及各种锁总结
锁分类 从对数据操作的粒度来分: 表锁:操作时会锁定整个表行锁:操作时会锁定当前操作行 从对数据操作的类型分: 读锁(共享锁):针对同一个份数据,多个读操作可以同时进行而不会互相影响写...
什么是意向锁,意向锁的作用是什么
定义 意向锁(Intention Locks)是 MySQL InnoDB 引擎中的一种锁机制(表级锁),用于协调事务间的加锁操作,以避免冲突和死锁的发生。 意向锁的作用 例如,事务 A 加锁了 Users 表中的一行数据...
自旋锁是什么
自旋锁加锁失败后,线程会忙等待,直到它拿到锁。 自旋锁是通过 CPU 提供的 CAS 函数(Compare And Swap),在「用户态」完成加锁和解锁操作,不会主动产生线程上下文切换,所以相比互斥锁来...
互斥锁、自旋锁、读写锁、悲观锁、乐观锁详解
前言 如何用好锁,也是程序员的基本素养之一了。 高并发的场景下,如果选对了合适的锁,则会大大提高系统的性能,否则性能会降低。 所以,知道各种锁的开销,以及应用场景是很有必要的。 接下来...