Функция простоя непрерывно вызывается когда главному циклу
Gtk+ больше нечем заняться. Функции простоя выполняются только
когда очередь событий пуста, и главный цикл будет работать вхолостую, ожидая
когда что-то произойдет. До тех пор, пока они возвращают
TRUE, они вызываются снова и снова; когда они вернут
FALSE, они удаляются, как будто была вызвана функция
"gtk_idle_remove()".
API функций простоя, показанный в списке функци 3..15,
идентичен API функций таймаута и выхода. Опять же,
"gtk_idle_remove()" не должен вызываться изнутри функции
простоя, потому что это может повредить список функций простоя Gtk+.
Верните FALSE, если хотите удалить функцию простоя.
Функции простоя наиболее часто используются для постановки в очередь
одноразового кода, который выполняется после того, как все
события были обработаны. Относительно дорогие операции, такие как
согласование размеров в Gtk+ и перерисовки
GnomeCanvas происходят в функциях простоя, возвращающих
FALSE. Это позволяет быть уверенным в том, что дорогие
операции выполняются только один раз, даже если несколько последовательных
событий затребовали перевычисления.
Главный цикл Gtk+ содержит простой планировщик; функции простоя
на самом деле имеют приоритеты, им присвоенные, также как и процессы в
UNIX. Вы можете присвоить приоритет, не равный приоритету по
умолчанию вашим функциям простоя, но это сложная тема вне компетенции этой
книги.
Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке,
посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных
администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости
индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.
Каждый, кто оформит подписку, получает бонус- объёмные наклейки на системный блок и подарки: с одним из
первых выпусков журнала в 2012 году- диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную
версию журнала в pdf-формате.
Подробнее о проведении акции вы можете прочитать на
странице сайта.