Но я получаю результат вывода только тогда, когда весь процесс l oop заканчивается
Это потому, что вы вызываете run()
на Thread
, поэтому он на самом деле не создает новая тема. Вместо этого он работает в основном потоке пользовательского интерфейса и никогда не позволяет обновлять пользовательский интерфейс.
Я думаю, что многопоточность не является хорошим решением для того, что вы хотите сделать, потому что вам придется выяснить, как взаимодействовать с UI поток, чтобы сказать, чтобы обновить. Когда я много лет делал что-то подобное в Swing go, я использовал обратные вызовы в своем алгоритме сортировки, чтобы дать понять интерфейсу обновления.