非常に長い操作を実行するスレッドをどうやって破壊できますか?destroy()メソッドを使わずにJavaでスレッドを破壊する方法は?
SQLクエリのタイムアウトを設定せずにこの問題を解決する必要があります。 Thread.destroy()
は推奨されていません。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Sample {
public static void main(String[] args) {
Thread t = new Thread(new Runnable() {
@Override
public void run() {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager
.getConnection("jdbc:mysql://localhost:3306/db");
conn.createStatement().execute("SELECT * FROM some_table");
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
});
t.start();
}
}
これを行うにはタイムアウト*を設定するのが最善の方法です*。 *なぜ*できないのですか? –