関数に次のシーケンスがある場合
void UpdateDatabase(conn) {
createStatement
executeStaement
getResult
}
この一連の呼び出しマルチスレッドは安全ですかJava
関数に次のシーケンスがある場合
void UpdateDatabase(conn) {
createStatement
executeStaement
getResult
}
この一連の呼び出しマルチスレッドは安全ですかJava
スレッドが状態を共有しないか、共有状態を正しく同期しないと仮定すると、実行は JVM 内で何が起こっているかを表示するときにのみスレッドセーフになります。ただし、さらに重要なのは、データがまだ破損している可能性があるかどうかです。
すべての JDBC 接続は、一度に 1 つのスレッドでのみ使用する必要があります。ただし、データベース システムでは 4 つの分離レベルが定義されており、同時トランザクションが参照できるデータの状態が定義されています。同時トランザクションが同じデータに触れていない場合は問題ありません。その場合は、データベースの分離レベルを確認してください。