Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : lancer un thread [ Divers / Débutant(e) ] (Yunchi)

jeudi 2 août 2007 à 09:24:36 | lancer un thread

Yunchi

Bonjour, J'ai une interface graphique en gtk. Lorsque je click sur un bouton, ca lance la fonction void fonction(); au debut de cette fonction je cree un thread qui va afficher du texte dans un entry. Le thread est cree avec g_thread_create(mon_thread,NULL,FALSE,&error) dans void fonction() j'ai donc en tout debut cette instruction puis des sleep. Le probleme est que le thread ne se lance qu'a la fin de la fonction alors qu'elle devrait se lance au debut :/ par exemple : void fonction(){ //declaration des variables g_thread_create(send_thread,NULL,FALSE,&error); //instruction 1 //sleep(5000); //instruction 2 } Le thread affiche en continue dans une entry du texte. Logiquement lorsque j'appelle la fonction void fonction, ca devrait commencer a afficher du texte dans l'entry puis passer a l'instruction 1, attendre 5s et executer l'instruction 2. Mais lorsque je lance fonction, ca attend 5s avant de commencer a afficher du texte dans l'entry donc j'en conclu que le thread ne se lance qu'a la fin de la fonction ? Si quelqu'un sait comment regler ce probleme et lancer le thread en debut de fonction ... Merci

jeudi 2 août 2007 à 11:41:55 | Re : lancer un thread

luhtor

Tu n'as pas le droit d'agir sur la GUI à partir d'un thread sauf en utilisant les fonctions g_thread_enter_ et g_thread_leave ou un truc comme ca. Bref c'est le merdier, donc jamais utiliser de thread pour écrire dans une text entry.

Pour ton pb, le thread devrait se lancer immédiatement:
http://developer.gnome.org/doc/API/2.0/glib/glib-Threads.html#g-thread-create


vendredi 3 août 2007 à 03:12:57 | Re : lancer un thread

Yunchi

oui dans ma fonction send_thread(), les gtk_entry_set_text sont encadres par gdk_threads_enter(); et gdk_flush (); / gdk_threads_leave(); bah en meme temps je vois pas d'autre solution pour afficher du texte en temps reel dans le gtk_entry sinon ....

vendredi 3 août 2007 à 16:16:23 | Re : lancer un thread

luhtor

Remarque, ya longtemps que j'ai pas fais de gtk, mais doit surement y avoir l'équivalent des "posted events" qu'on trouve en Qt ou wxWidget. Ces events font le lien entre des threads et le thread principal.



Cette discussion est classé dans : fonction, lance, void, thread, instruction


Répondre à ce message

Sujets en rapport avec ce message

Envoi de parametre dans un thread en C++ [ par xinob ] Bonjour a tous,Je me permets de poster un message car je n'ai pas trouver de réponse que j'ai comprise sur le net .En effet , j ai quelques questions Socket RAW IPPROTO_ICMP et thread [ par ags_squale ] Bonjour,J'essaie de développer un petit module qui 'pingue'  des équipements de manière simultanée. Je suis sous linux 2.6 - mandriva.Pour cela je lan copier des données en memoire [ par rudybaka ] Bonjour je suis etudiant et j'aurai besoin d'aide pour une question de TP :Ecrire une fonction qui trie les valeurs d'un tableau d'éléments de type qu wxglcanvas ---> aidez-moi ! [ par satellite34 ] salut, enfin je pourrai dire rerereresalut;bon j'ai vraiment un gros soucis quant a l'utilisation de la classe wxGLCanvas;voila, j'ai fait une fonctio Polymorphisme et Tableau [ par benroger ] Bonjour à tous,Je travaille actuellement sous Visual 2003.net, sous Windows XP. J'ai developpé en C ++ une application SDI qui utilise une classe mè question sur wndproc [ par leprov ] salut a tous.je debute en prog win32, alors je galere un peu. j'aimerais comprendre quelques details sur cette fonctionbon dites moi si je me trompe, Mettre un thread en pause [ par Quazar ] BonjourJe voudrais controler l'éxécution d'une fonction à travers un thread et pouvoir l interrompre ou l'arreter. La subtilité réside dans le fait qu thread [ par dev_hy ] voila je veux utiliser les threads sous windows. alors j'ai crée un classe thread, dans la méthode de créeation de thread toute est bon mais il m'affi Thread [ par joduak ] Salut!Je souhaiterais savoir si, quand j'exécute un thread (fonction thread2) à l'intérieur d'un thread (fonction thread1)est ce que le thread (foncti Threads et leurs paramètres [ par Chop_chop ] Bonjour, j'ai un problème quant à un programme avec création de threads que je réalise.Je vous explique ce que je code et qui ne fonctionne pas :J'ai


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,608 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.