如果我在函数中有以下序列
void UpdateDatabase(conn) {
createStatement
executeStaement
getResult
}
这个调用序列在多线程中是否安全Java
如果我在函数中有以下序列
void UpdateDatabase(conn) {
createStatement
executeStaement
getResult
}
这个调用序列在多线程中是否安全Java
假设您的线程不共享任何状态或以其他方式正确同步共享状态,则在查看 JVM 内部发生的情况时,执行仅是线程安全的。然而,更重要的是您的数据是否仍然可能被损坏。
每个 JDBC 连接一次只能由一个线程使用,您正在这样做。然而,数据库系统定义了四个隔离级别,定义了并发事务可以看到的数据状态。如果您的并发交易没有触及相同的数据,您就可以了。如果是这样,请查看数据库的隔离级别。
如果你稍微改变一下
void updateDatabase() {
getConnection
createStatement
executeStaement
getResult
}
这绝对是线程安全的