Безопасность использования pthreads в приложении Gtk + 2.0

У меня есть простое многопоточное приложение Gtk + 2.0, которое получает данные из нескольких источников (микрофон, веб-камера, датчик температуры) и отображает данные из них в виде изображений на экране (захваты кадров веб-камеры, данные микрофона, представленные в виде осциллографа, текста и т. Д.).

Насколько я понимаю из руководства Gtkи различные статьи что только основной поток обработки должен использовать любые функции / вызовы Gtk, которые влияют на пользовательский интерфейс. Тем не менееmain() блоки входа наgtk_main() пока я не закрою интерфейс. За исключением обработчиков событий, которые отображаются на такие вещи, как когда я нажимаю на кнопку или ползунок в моем пользовательском интерфейсе, кажется, что единственная оставленная мне возможность - это порождать несколькоpthreads и пусть они выполняют периодическую выборку данных и обновляют информацию на экране в пользовательском интерфейсе.

Я помню, что, занимаясь разработкой графического пользовательского интерфейса MFC, далёкий путь назад, когда применялся похожий принцип: только один конкретный поток должен обновлять элементы пользовательского интерфейса. Как мне сделать это в C с помощью Gtk + 2.0?

Спасибо.

Ответы на вопрос(2)

Ваш ответ на вопрос