PYGTK - PYGI: эквивалент gtk.timeout_add

Что сработало для меня, так это запустить alsamixer и включить опцию автоматического отключения звука. Я сделал это, когда наушники были подключены, и все началось отлично.

1
задан 14 December 2012 в 14:09

1 ответ

Чтобы убедиться, что путь Gtk также присутствует в ответе:

Эквивалент

gtk.timeout_add(PING_FREQUENCY * 1000, self.doWork)

в интроспекции gobject (PyGI):

from gi.repository import GLib
GLib.timeout_add(PING_FREQUENCY * 1000, self.doWork)

Однако при проверке чего-либо регулярно каждые x секунд вы должны использовать

GLib.timeout_add_seconds(PING_FREQUENCY, self.doWork)

. Это позволяет Glib группировать таймеры и, следовательно, экономить электроэнергию, что важно для мобильных устройств. Из документации:

Группирование таймеров для одновременного запуска приводит к более сильному и эффективному поведению процессора, поэтому, если ваш таймер находится в нескольких секундах, и вам не нужен первый таймер ровно один с другой стороны, использование glib.timeout_add_seconds () предпочтительнее glib.timeout_add ().
19
ответ дан 25 May 2018 в 03:23
  • 1
    Это кажется лучше, чем использование потоков. Тем более, что потоки могут вызывать странные ошибки и блокировки, если вы действительно не знаете, что делаете. – Timo 14 December 2012 в 17:49

Другие вопросы по тегам:

Похожие вопросы: