多线程数据库加锁容易锁等待有关问题

多线程数据库加锁容易锁等待问题

我这想实现多个线程操作数据库,可能更新同一笔数据,比如

线程1:lock table1 ,select table1, update table1;

线程2:lock table1, select table1, update table1;

线程n …

希望是线程1执行完update前,其他线程一直在等待

如果不加锁,2个线程有可能select出相同的数据,结果update的值也就错了

如果加锁,就容易出现锁等待或死锁;

求各位帮忙看看有没有更好的办法



start transaction

select table1 for update;

update table1;

commit



没有办法,肯定要锁表。 既然用事务,事务也会自动把锁上。




一定会锁表的,用事务,一定会锁表的。




没明白意思

多线程数据库加锁容易锁等待有关问题

相关文章:

你感兴趣的文章:

标签云: