原子获取锁定和ID

时间:2018-06-29 15:30:58

标签: mysql locking

我正在将MySQL用于分布式锁定机制。效果很好,但是我有一个很小的比赛条件,我从未遇到过,但是很好奇是否有其他选择可以避免它。

当前,在我的代码中,我调用GET_LOCK,然后紧接着调用IS_USED_LOCK以获取持有该锁的连接的ID。这是必需的,因此我可以监视它的更改并发出发生其他事件的信号。但是,看来我可能要调用GET_LOCK获取锁,然后在调用IS_USED_LOCK之前的毫秒内丢失它。

我是否可以自动调用GET_LOCK并获取锁ID?

更新:

我不知道SELECT GET_LOCK('test/lock', 10), IS_USED_LOCK('test/lock');是可行的,但不确定在内部是否实际上是原子的。

0 个答案:

没有答案