На этом шаге мы общие сведения о потоках.
При обработке больших объемов данных не всегда можно равномерно разбить операцию на небольшие по времени этапы, поэтому при использовании метода processEvents() возможны проблемы, и вместо этого метода лучше вынести длительную операцию в отдельный поток, - в этом случае операция станет выполняться параллельно с основным циклом приложения и не будет его блокировать.
В одном процессе можно запустить сразу несколько независимых потоков, и если ваш компьютер оснащен многоядерным процессором, то потоки будут равномерно распределены по его ядрам. За счет этого можно не только избежать блокировки GUI-потока приложения, в котором выполняется обновление его интерфейса, но и значительно увеличить эффективность выполнения кода. Завершение основного цикла приложения приводит к завершению работы всех потоков.
На следующем шаге мы рассмотрим создание потока.