MySQL的读写锁
在处理并发读或写时,可以通过实现一个由两种类型组成的锁系统来解决问题。这两种锁通常被称为共享锁和排他锁,也叫读锁和写锁。
- 读锁是共享的,相互不阻塞,多个用户同一时刻可以读取同一个资源而不相互干扰。
- 写锁是排他的,一个写锁会阻塞其他的写锁和读锁,确保在给定时间内只有1个用户能执行写入并防止其他用户读取正在写入的同一资源。
在实际数据库系统,随时都在发生锁定,当某个用户在修改某一部分数据时,MySQL会通过锁定防止其他用户读取同一数据。写锁比读锁的优先级高,一个写锁请求可能会被插入到读锁队列的前面,但是读锁不能插入到写锁前面。
欢迎批评指正,提出问题,谢谢!