Как уже упоминалось в предупреждении, основной поток рабочего некоторое время не мог ничего сделать.Это часто вызывается вызовом скомпилированных функций, которые поддерживают GIL.Они захватывают GIL и затем на некоторое время исчезают в скомпилированном коде, не позволяя запускать любой другой код Python (например, сообщения пульса).
Правильный способ решения этой проблемы - заставить ваш скомпилированный код выпустить GIL.Если у вас есть контроль над этим кодом, то это обычно легко исправить в Cython, и теперь, я думаю, по умолчанию в cffi.Если вы просто звоните subprocess
, то у меня нет хорошего объяснения этому.Это не должно держаться на GIL.