Salut,
N'ayant pas vraiment trouvé mon bonheur dans les recherche, j'ai quelques petite question.
Context : j'ai une application (pas moi qui l'ai écrit) multi thread avec gtk pour la partie IHM. Pour les thread, c'est pthread pour linux et thread win32 pour windows.
Seulement après plusieurs plantage, je constate une chose qui ne me plaît pas.
Gtk est manipulé par plusieurs thread en même temps. exemple d'un plantage avec 3 thread :
1- thread de gtk
2- thread qui créé une widget
3- thread qui ajoute des widget à GTK
A mon avis, on ne devrait pas faire cela. Par exemples en Qt il est interdit de manipuler des objets d'IHM autre que dans la thread principale.
Voici la doc que j'ai trouvé :
http://library.gnome.org/devel/gdk/s...html#id2923934
question :
1- Est ce bien là même chose pour GTK??
2- Si je comprend bien, gdk_threads_enter()/gdk_threads_leave() pourrais résoudre le problèmes sous windows? Car sous linux les appel x11 est thread safe.
3- si je voulais lancer la création des widget dans l'event loop, je pourrais utiliser ceci?
http://gtk.developpez.com/faq/?page=...BOUCLE_idleadd
4-Y aurait-il des astuces simple pour contourner ces problèmes?
Merci
[edit]
correction des questions car quelque ...(he oui vendredi soir ca aide pas à comprendre)
Partager