gpt4 book ai didi

java - Java.sql 的 getRow() 线程安全吗?

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

假设我有大量线程使用 Java.sql 插入到 mysql 数据库中。在我执行插入后,我想知道我刚刚插入的记录的主键。我可以使用 getRow()在插入查询返回的 ResultSet 上。但是,这个线程安全吗?或者我应该触发另一个选择语句来找到我刚刚插入的记录的主键吗?

最佳答案

ResultSet 没有在 javadoc 上宣传它是线程安全的,因此假设它不是。如果您插入了 10 个线程,并且它们以某种方式获得了相同的结果集。将会发生一些奇怪的事情(或者至少不能保证是正确的)。

但是,如果您有 10 个线程,每个线程都在执行自己的插入操作,并且每个线程都有自己的 ResultSet .. 你没问题。请记住,线程安全通常与共享同一个对象有关,而不仅仅是同一个类。 ArrayList 不是线程安全的,但是如果您有 10 个不同的线程和 10 个不同的 ArrayList,则没有问题。此处与 ResultSet 相同。

关于java - Java.sql 的 getRow() 线程安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3920158/

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