mysql中的 GET_LOCK() RELEASE_LOCK() 这种锁具体用途是什么?

MySql 码拜 9年前 (2016-02-17) 2371次浏览
GET_LOCK(锁名,超时秒) 加锁,
RELEASE_LOCK(锁名)   解锁;
IS_FREE_LOCK(锁名)   检查锁能否可用
IS_USED_LOCK(锁名)   检查锁能否正在被使用,
手册上的上面4个函数,目测是线程锁;
问一下具体用途是做什么用的,搞不清楚;
莫非就是测试锁名玩? 搞不清具体锁定了什么.
求讲解,谢谢”;
解决方案

60

既然mysql有这个东西,那肯定是又用的。
GET_LOCK(锁名,超时秒) 加锁:获取指定名称的锁,指定超时时间,例如一个sql语句获取了xx锁,然后你也要获取这个xx锁,就用这个。
RELEASE_LOCK(锁名)   解锁:获取了锁之后,用完了,就要释放,不然别的sql就执行不了。
IS_FREE_LOCK(锁名)   检查锁能否可用:测试这个锁能否其他线程已经在用了。
IS_USED_LOCK(锁名)   检查锁能否正在被使用,
全部这些都基于 锁名,大家都用同样的锁名,才有效,否则张三,李四,都不一样的锁名,那肯定就么有用了。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明mysql中的 GET_LOCK() RELEASE_LOCK() 这种锁具体用途是什么?
喜欢 (0)
[1034331897@qq.com]
分享 (0)