gpt4 book ai didi

mysql - MariaDB/MySQL 的 GET_LOCK (‘lockname’ , 0) 如何工作?

转载 作者:行者123 更新时间:2023-11-29 17:11:36 24 4
gpt4 key购买 nike

我发现在我正在开发的 Java 应用程序中使用了 MariaDB 的 GET_LOCK('lockname', 0)

这里超时值设为0。我想它应该以非阻塞方式工作。但是,在日志文件中出现一些异常后,我的印象是它仍在尝试使用默认超时时间获取锁定。在 GET_LOCK 调用之前应用 IS_FREE_LOCK('lockname') 调用可以使应用程序顺利运行。

我的问题是,这里使用0作为超时值有什么影响?

最佳答案

你确定超时了吗?我无法从命令行重现该问题:

第 1 节:

MariaDB [(none)]> SELECT GET_LOCK('lock1', 10);
+-----------------------+
| GET_LOCK('lock1', 10) |
+-----------------------+
| 1 |
+-----------------------+
1 row in set (0.000 sec)

第二节:

MariaDB [(none)]> SELECT GET_LOCK('lock1', 0.5);
+------------------------+
| GET_LOCK('lock1', 0.5) |
+------------------------+
| 0 |
+------------------------+
1 row in set (0.500 sec)

MariaDB [(none)]> SELECT GET_LOCK('lock1', 0);
+----------------------+
| GET_LOCK('lock1', 0) |
+----------------------+
| 0 |
+----------------------+
1 row in set (0.000 sec)

关于mysql - MariaDB/MySQL 的 GET_LOCK (‘lockname’ , 0) 如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51875439/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com