🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
#### 使用场景 比如有如下操作: 1. 从数据库中取出id的值(比如id=100) . 2. 把这个值-1(id=100-1). 3. 再把该值存回到数据库(id=99). 假如id=100 有两个进程(用户)同时操作 : 进程1: id=100 id = 100-1 id = 99 进程2: id=100 id = 100-1 id=99 **mysql中的锁:同一个时间只有一个人可以获得锁,其他人只能阻塞等待第一个人释放锁。** | 进程1(用户) | 进程2(用户) | 进程3(用户) | | --- | --- | --- | | get lock | 等待 | 等待 | | id = 100 | 等待 | 等待 | | 100-1 | 等待 | 等待 | | id =99 | 等待 | 等待 | | unlock | get lock | 等待 | | | id = 99 | 等待 |