在做多线程操作数据库时避免不了的会遇到线程之间争抢同一条记录的问题,在mysql里可以实现分布式锁解决线程的反复调用问题。
具体方法是利用数据库的唯一约束,设置一个比如状态的列来判断此记录是否正在被线程处理,可以默认值为0,表示未被处理,当值变为1时表示正在处理,值为2时表示处理完成。
此时我们只需要让多线程以 UPDATE 的方式来请求数据库,以修改此状态为条件,若某个线程访问此锁时这条记录的状态值为0,则此线程获得此锁,这也是乐观锁的一种表现形式。
标签:处理,数据库,Mysql,线程,简单,多线程,分布式 From: https://www.cnblogs.com/zmyxx/p/17342626.html