Q : как бы я сделал это ... работать в фоновом режиме ... и не блокировать основной поток, чтобы я мог продолжить ...?
Этого никогда не произойдет в Python3 как есть (поскольку, как заявил сам Гвидо Россум, скорее всего, так и останется, если только полная реинжиниризация Python -интерпретатора не будет впервые решена осуществимой и затем успешно выполнено)
Python и все его потоки централизованно контролируются монополистом c singleton, центральным уникальным общим ресурсом GIL-блокировки Python {2 | 3}.
Степпинг GIL-блокировки принципиально повторно сериализует любое просто - [CONCURRENT]
выполнение на основе py-thread, так что в результате получается последовательность с чисто чередованием [SERIAL]
(справа - Принципиально избегая любого параллелизма, тем более любая желаемая форма выполнения [PARALLEL]
-кода).
При этом можно прыгнуть из этого Python -при проектировании сохранил ограничение и породил не-pythoni c framework - li ke ZeroMQ , который работает независимо от этого, своего рода «помимо» python -интерпретатора, и который будет обрабатывать все службы сигнализации / обмена сообщениями независимо через интеллектуальные сокеты (архетипированные поведением агентов), имея полностью исключен из известного узкого места повторной сериализации GIL-блокировки для производительности (и также позволил бы использовать сочетание колокейшн и распределенных вычислений обмен данными между многими процессами архитектуры)