gpt4 book ai didi

java - 从数据库获取线程未使用的用户名

转载 作者:行者123 更新时间:2023-12-01 11:24:02 25 4
gpt4 key购买 nike

我有一个多线程 Java 程序,其中每个线程获取一个用户名进行某些处理,该处理大约需要 10 分钟左右。

现在它通过一个sql查询来获取用户名,该查询随机返回一个用户名,问题是同一用户名一次可以给多个线程。

我不希望正在由线程处理的用户名被另一个线程再次获取。有什么简单易行的方法来实现这个目标?

最佳答案

分步解决方案:

  1. 创建一个线程表,用于存储线程的状态。在其他列中,您还需要在那里存储所有者用户的 ID。

  2. 当线程与用户关联时,创建一条记录,存储所有者以及所有其他有趣的内容。

  3. 当线程不再与用户关联时,将其所有者设置为 null。

  4. 当线程完成其工作时,删除其记录。

  5. 当您随机化线程的用户时,请过滤掉已至少与一个线程关联的所有用户。这样您就知道随机化结束时的任何用户都是无线程的。

  6. 确保一切就位。如果在使用该功能时创建了一些线程记录并且应该从其所有者那里删除或处置,那么就这样做。

关于java - 从数据库获取线程未使用的用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30967687/

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