Sicherheit bei der Verwendung von pthreads in Gtk + 2.0-Anwendungen

Ich habe eine einfache Multithread-Gtk + 2.0-Anwendung, die Daten von mehreren Quellen (Mikrofon, Webcam, Temperatursensor) erfasst und diese als Bilder auf dem Bildschirm anzeigt (Webcam-Einzelbilder, Mikrofondaten, die als Oszilloskop-Rendering dargestellt werden, Text usw.). .

Es ist nach meinem Verständnis aus dem Gtk-Handbuchund verschiedene Artikel dass nur der Hauptverarbeitungsthread Gtk-Funktionen / -Aufrufe verwenden sollte, die sich auf die Benutzeroberfläche auswirken. Dasmain() Einstiegspunkt blockiert aufgtk_main(), bis ich die Benutzeroberfläche schließe. Mit Ausnahme von Ereignishandlern, die auf Dinge wie das Klicken auf eine Schaltfläche oder einen Schieberegler in meiner Benutzeroberfläche abgebildet sind, ist es anscheinend die einzige Option, die mir offen bleibt, ein paar @ zu erzeugepthreads und lassen sie die Daten regelmäßig abtasten und Informationen auf dem Bildschirm der Benutzeroberfläche aktualisieren.

Ich erinnere mich, dass bei einigen MFC-GUI-Entwicklungen vor langer Zeit ein ähnliches Prinzip galt: Nur ein einziger bestimmter Thread sollte die UI-Elemente aktualisieren. Wie mache ich das in C mit Gtk + 2.0?

Vielen Dank

Antworten auf die Frage(4)

Ihre Antwort auf die Frage