Серьезную работу всегда следует выполнять в отдельном потоке, иначе весь пользовательский интерфейс может быть заблокирован. Таким образом, вы не можете ничего щелкнуть и даже не закрыть приложение.
Если это возможно, вы также должны попробовать сделать небольшие куски работы и дать остальной части приложения время, чтобы «перевести дух» и не выполнять всю работу сразу. Это не всегда возможно, но таким способом можно управлять некоторой работой.