Как работает sys.getswitchinterval () с Pyqt?Python

Программы на Python
Anonymous
Как работает sys.getswitchinterval () с Pyqt?

Сообщение Anonymous »

Из документов:

Код: Выделить всё

setswitchinterval< /code> < /p>

Установите интервал переключателя потока интерпретатора (в секундах). Это значение
с плавающей точкой определяет идеальную продолжительность «временного класса»
, выделяемого для одновременного запуска потоков Python. Обратите внимание, что фактическое значение
может быть выше, особенно если используются длительные внутренние функции
или методы. Кроме того, какой поток становится запланированным на
Конец интервала является решением операционной системы. У интерпретатора
нет собственного планировщика. < /P>
< /blockquote>
(getswitchinterval()
Получает значение. Стандартное значение составляет 0,005 секунды).
Это датируется Python 3.2, в 2009 году. Я прочитал здесь, что этот механизм был первоначально введен, чтобы предотвратить резьбы, связанные с ЦП >

Эта проблема была исправлена ​​в Python 3.2 в 2009 году Antoine Pitrou, который
добавил механизм рассмотрения количества запросов на приобретение GIL
другими потоки, которые были сброшены и не позволяя текущему потоку
Reacquire Gil, прежде чем другие потоки получили возможность запустить. .setcheckinterval () /

Код: Выделить всё

sys.getcheckinterval()
(теперь оба устарели) и дали несколько инструкций машины, а не интервал времени. GUI в потоке событий, вы должны ввести Time.sleep (...) вызовы (могут быть и другие механизмы). По моему опыту, без этого рабочей ветки () просто никогда не отпустит, пока не закончится. нить дыши », из коробки? Я предполагаю, что ответ может заключаться в том, что PYQT устанавливает свою собственную архитектуру переключения потоков, которая переопределяет основную Python One. Но если это так, кажется странным, что что -то такое же, как и время. Очевидно, время. > Между прочим, я использую pyqt5 ... я предполагаю, что это то же самое с более поздними версиями.

Подробнее здесь: https://stackoverflow.com/questions/793 ... -with-pyqt

Вернуться в «Python»