mysql 读写锁是什么?
读写锁是什么?有些同学可能听说过,但是并不知道是什么,下边来介绍下
读锁:(共享锁 shared lock)
读锁是共享的,或者说是相互不阻塞的。多个客户在同一时刻可以同时读取同一资源,而互不干扰。
写锁:(排他锁 exclusive lock)
写锁则是排他的,也就是说一个写锁会阻塞其他的写锁和读锁,这是出于安全策略的考虑,只有这样,才能确保给定时间里,只有一个用户能执行写入,并防止其他哦用户读取正在写入的同一资源。
例子:
一个时刻多个用户并发读取同一条数据不会有什么问题,因为不会修改数据,所以不会报错。但是如果某个用户正在读取这条数据,同时另一个用户正在删除这一条数据,会产生什么结果?结论是不确定的,读的用户可能会报错退出,也可能读取到不一致的数据。这时候就需要用到读写锁了!
mysql 读写锁,你懂了吗?