This article looks thread management in a Swing GUI. There's more to success than simply spinning up background threads for long-running operations: you need to get the results of these operations back to the user, control the sequencing of not-quite-independent operations, and provide feedback to the user while the operation is running.
C. Hsiao, S. Narayanasamy, E. Khan, C. Pereira, and G. Pokam. Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems, page 193--205. ACM, (2017)
J. Protze, M. Schulz, D. Ahn, and M. Müller. Proceedings of the 27th International Symposium on High-Performance Parallel and Distributed Computing, page 144--155. ACM, (2018)
Y. Korkmaz, F. Korkmaz, I. Topaloglu, and H. Mamur. International Journal on Soft Computing, Artificial Intelligence and Applications (IJSCAI), 3 (4):
9(November 2014)
A. Rashid. Fakultät für Wirtschaftswissenschaften (Fak. f. Wirtschaftswiss.) Institut für Angewandte Informatik und Formale Beschreibungsverfahren (AIFB), (2011)