package org.arkham.cs.db; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.concurrent.CopyOnWriteArrayList; public class SQLQueryThread extends Thread { public static volatile CopyOnWriteArrayList<String> sql_query = new CopyOnWriteArrayList<>(); public SQLQueryThread(){ start(); setName("Cosmetics-SQL"); } @Override public void run() { while (true) { try { Thread.sleep(250); } catch (InterruptedException e) { } for (String query : sql_query) { Connection con = null; PreparedStatement pst = null; try { pst = SQLConnectionThread.getConnection().prepareStatement(query); pst.executeUpdate(); } catch (Exception ex) { ex.printStackTrace(); } finally { try { if (pst != null) { pst.close(); } if (con != null) { con.close(); } } catch (SQLException ex) { ex.printStackTrace(); } } sql_query.remove(query); } } } public static void addQuery(String query){ sql_query.add(query); } }