Gtk-Main als Thread laufen lassen?
-
Hallo ich habe ein Programm, in dem ich GTK-Threads bzw. Timer verwenden möchte.
Dafür brauche ich ja die Hauptschleife von GTK oder??
Wenn ja würde ich das gerne in einem zusätzlichen Thread laufen lassen, da mein Programm schon über eine eigene Hauptschleife verfügt.
Geht das? Kann ich auf GTK-Threads zugreifen, bevor GTK läuft?
Denke mal eher nicht. Oder??Alternativ wäre wohl mein Programm als Thread von GTK zu starten oder?
Aber der Aufwand ist mir dafür bisschen zu groß. Ich brauche nämlich nur einen Timer, der mit usleep arbeitet und Millisekunden lang "schlafen" kann.
Hat mir da jemand einen Tipp?? Bin da grade etwas planlos.
Danke
Gruß Oli
-
Hi,
Threads laufen über die glib. Siehe hier: http://library.gnome.org/devel/glib/2.15/glib-Threads.html
Zuerst in der main-Funktion g_thread_init(0); aufrufen, dann kannst du mit g_create_thread Threads erstellen. Ist weitgehend selbsterklärend, aber grundsätzlicher Aufbau ist:
#include <glib-2.0/glib.h> int main(int argc, char **argv) { if (!g_thread_supported()) g_thread_init(0); //usw. return 0; }
Aber vergiss nicht, dann mit gthread-2.0 zu kompilieren: http://library.gnome.org/devel/glib/stable/glib-compiling.html
Cheers
GPC
-
Hi,
dankeschön, genau das hab ich gesucht.Gruß Oli