ответная реакция

равильно запустить приложение, которому нужно 5-10 секунд, чтобы получить исходные данные из базы данных? Это то, что я получил до сих пор, но я не уверен, что нет лучших способов. Мне бы хотелось, чтобы графический интерфейс и доступ к базе данных были бы в разных потоках, чтобы создание графического интерфейса происходило одновременно с извлечением данных.

public static void main(String[] args) {
    final Controller controller = new Controller();
    SwingUtilities.invokeLater(new Runnable() {
        public void run() {
            View frame = new View();
            controller.setView(frame);
        }
    });
    Model model = new Model();
    controller.setModel(model);
    controller.getInitialData();
}