mysql 锁 事务 并发

在做manage console时,由于存在后台和ui两方面修改树数据,存在并发问题。而此树实现又存在递归。

myisam方式是不行的,它需要锁住所有涉及到的表,这样的话,根本达不到只锁一个表的目的。myisam也不支持事务,但它支持表锁,但是他的锁需要手动释放,事务提交时是没有自动解锁的。innodb支持事务,但只支持行级锁。在事务提交时会自动解锁。

可使用单独表来实现并发互斥,此表只有一行记录,在进行操作事务时将此行用hibernate LOCKMODE.Read锁
代码:getSession().load(Lock.class, 0, LockMode.READ);
则达到互斥效果。


Total views.

© 2013 - 2018. All rights reserved.

Powered by Hydejack v6.6.1