NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
#### 使用场景 比如有如下操作: 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 | 等待 |