@mikulch 既然题主说的站在高层看待问题,又为何要扯回具体锁上去。简单来看,一切锁不过是为了保证读和写的安全,为了保证性能,'读'和'写'这两个基本操作的锁肯定是要分开的,那么说共享锁、排他锁(独占锁)有读写分离的思想也无可厚非。另外,我对 mysql 了解不深,但是对你说的“ mysql 中数据被加上排他锁以后...但是允许该数据被读取”存在怀疑,你这里的所谓允许读取,大概是因为 select 时不会去尝试获取和检查锁,所以锁对它根本不起作用,不妨换个角度想,如果那样的话这里读取的安全该由什么保证呢?
ihuotui
2017-07-30 17:58:38 +08:00
@mikulch 在说 mysql 我是指 innodb 引擎,在可重复读事务条件下,事务 a 对某行用了独占锁,其他事务(对同样一行,共享锁和排他锁)都会被阻塞,跟 java 的读写锁差不多就是写的时候变为串行,读并行。