Java JDBC线程安全
如果函数中有以下序列Java JDBC线程安全,java,multithreading,jdbc,Java,Multithreading,Jdbc,如果函数中有以下序列 void UpdateDatabase(conn) { createStatement executeStaement getResult } 如果稍加修改,这一调用序列在Java中是否安全 void updateDatabase() { getConnection createStatement executeStaement getResult } 如果您的线程不共享任何状态或以其他方式正确同步共享状态,那么它
void UpdateDatabase(conn) {
createStatement
executeStaement
getResult
}
如果稍加修改,这一调用序列在
Java
中是否安全
void updateDatabase() {
getConnection
createStatement
executeStaement
getResult
}
如果您的线程不共享任何状态或以其他方式正确同步共享状态,那么它肯定是线程安全的。只有在查看JVM内部发生的情况时,执行才是线程安全的。然而,更重要的是,如果您的数据仍然可能被破坏
每个JDBC连接一次只能由一个线程使用,您正在这样做。然而,数据库系统定义了四个隔离级别,定义了并发事务可以看到的数据状态。如果您的并发事务不涉及相同的数据,则罚款。如果有,请查看数据库的隔离级别。我认为您需要向我们展示更多的代码片段,例如
createStatement
、executestatement
和getResult
使用了哪些参数。如何调用UpdateDatabase
函数,这也取决于您使用的数据库。通常,数据库将管理并发请求。因此,您不必担心db客户端的线程安全。可能的复制只需确保每个线程都使用自己的连接。问题是“这一调用序列是线程安全的吗?”。而不是如何使这个线程安全