gpt4 book ai didi

java - 同步 int、long 或 String 值以及 AND/OR 选项?

转载 作者:行者123 更新时间:2023-12-01 04:41:51 26 4
gpt4 key购买 nike

这是一个有点组合的问题:

  1. 假设我有多个线程需要锁定用户 ID 等值。例如,我想隔离与给定玩家相关的数据库操作,以便与 ID 5 相关的操作可以与 ID 7 上的操作同时运行,但如果正在运行 ID 5 上的操作,则必须运行 ID 5 上的另一个操作等待。我之前使用过此示例中的代码:http://illegalargumentexception.blogspot.com/2008/04/java-synchronizing-on-transient-id.html但想要一些 Java 核心的东西,并且可以使用泛型来轻松地允许它与其他数据类型(例如 int 或 long)一起使用。

  2. 我如何选择使用 AND 或 OR 逻辑锁定其中两种变量?例如,假设我有一个消息系统,客户端可以在其中互相发送消息,但我想让线程在任一 ID 上阻塞?换句话说,如果我想在 ID 5 和 7 之间执行操作,我希望等待 5 或 7 上的任何正在运行的操作先完成后再解锁。

感谢您的指点!

最佳答案

我自己没有做过类似的事情,但我会构建一个将 id 映射到 Lock 的哈希表。事实上 id 是基元应该不是问题,您可以使用 IntegerLong 变体作为哈希表中的键。

有关 Lock 的更多信息的

关于java - 同步 int、long 或 String 值以及 AND/OR 选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16389630/

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