| |||||
| Bas de page | |
|---|---|
| Auteur |  Sujet : classes et threads | 
Publicité  | Posté le 12-11-2002 à 10:43:08   ![]() ![]()  | 
blackgoddess vive le troll ! | euh ... oui ... je connais pas la lib pthread ... je peux la trouver ou ? parce que la je suis pas vraiment avancé --------------- -( BlackGoddess )-  | 
YungMakko  | Tu es sous quel environment? (OS, Outil de development etc) --------------- In tartiflette, we trust!  | 
gatorette  | Une fonction "Thread" ne peut être déclarée comme membre d'une classe (comme tu as pu le constater). Cela est dû à la façon dont sont générées les fonctions membres en C++.
 --------------- each day I don't die is cheating  | 
blackgoddess vive le troll ! | je suis en effet allergique aux MFC ... pour CreateThread, ce qui me bloque c l'erreur du compilo : un membre de classe ne peut pas être WINAPI alors que le paramètre de CreateThread pour le point d'entrée du thread l'oblige. Et aussi, je cherche comment terminer proprement mon thread a la destruction de la classe --------------- -( BlackGoddess )-  | 
blackgoddess vive le troll ! | par exemple un TerminateThread serait tres sale, mais je n'ai pas d'autres idées ... --------------- -( BlackGoddess )-  | 
YungMakko  | Voir la reponse de "gatorette", c'est effet la solution.
 --------------- In tartiflette, we trust!  | 
Publicité  | Posté le 12-11-2002 à 11:55:03   ![]() ![]()  | 
blackgoddess vive le troll ! | ah oups oui dsl j'avais pas vu, il a posté pendant que j'ecrivais. --------------- -( BlackGoddess )-  | 
blackgoddess vive le troll ! | si on passe en paramètre this, le ThreadEntry pourra-t-il accéder aux memebres privés de l'objet ? --------------- -( BlackGoddess )-  | 
YungMakko  | 
 
 --------------- In tartiflette, we trust!  | 
blackgoddess vive le troll ! | ah !!! oui super ca je n'y avais pas pensé !
 --------------- -( BlackGoddess )-  | 
YungMakko  | You welcome!   --------------- In tartiflette, we trust!  | 
blackgoddess vive le troll ! | ah oui, encore une question : vu que c'est la mm fonction qui est appelé a chaque fois, si on instancie 2 fois la classe, cela va créer 2 threads, or c'est 2 fois la mm fonction qui va etre appelé pour les threads. il ne risque pas d'y avoir de l'ecrasement de données ? je m'explique par un exemple :
 --------------- -( BlackGoddess )-  | 
blackgoddess vive le troll ! | j'ai oublié le static DWORD WINAPI MyClass::EntryPoint(LPVOID lpParameter)
 --------------- -( BlackGoddess )-  | 
YungMakko  | Il n'y a pas de problème à ce que la fonction soit appellée plusieurs fois; les problème arrivent seulement quand plusieurs thread accèdent à un même object; dans ce cas, il faut que tu utilises des system de synchronisation ( mutex, critical section ). --------------- In tartiflette, we trust!  | 
blackgoddess vive le troll ! | ok, d'accord  --------------- -( BlackGoddess )-  | 
YungMakko  | Voir:   --------------- In tartiflette, we trust!  | 
SoWhatIn22  | 
 
  | 
blackgoddess vive le troll ! | SoWhatIn22 : si j'ai bien compris, si je déclare ma fonction en static friend DWORD WINAPI MyClass::ThreadEntry(LPVOID lpParameter) alors en passant comme argument this, je pourrais alors avoir acces aux membres privés en faisant : ((MyClass*)lpParamter)->MembrePrivé ? ai-je bien compris ? --------------- -( BlackGoddess )-  | 
blackgoddess vive le troll ! | pour la structure de données, si le thread recoit un pointeur vers cette structure il ne pourra pas changer les données de cette structure ??????? --------------- -( BlackGoddess )-  | 
blackgoddess vive le troll ! | c bon g compris les critical sections avec les msdn, merci yungmakko   --------------- -( BlackGoddess )-  | 
YungMakko  | 
 
 Message édité par YungMakko le 12-11-2002 à 14:14:03 --------------- In tartiflette, we trust!  | 
YungMakko  | 
 
 --------------- In tartiflette, we trust!  | 
blackgoddess vive le troll ! | c justement la ou on peut mettre une critical section si g bien compris l'utilité du truc ? pour pas ke le thread veuille lire qqchose de la structre pendant que l'objet l'ecrit, ce genre de chose, c ca ? --------------- -( BlackGoddess )-  | 
YungMakko  | 
 
 --------------- In tartiflette, we trust!  | 
blackgoddess vive le troll ! | super, merci, g appris plein de truc du ++ du c, et aussi ca faisait lgtps que les critical section me tapaient sur le système, merci bcp  --------------- -( BlackGoddess )-  | 
SoWhatIn22  | 
 
  | 
YungMakko  | 
 --------------- In tartiflette, we trust!  | 
Musaran Cerveaulté | Rhaa !
 
 C'est pas testé, mais je ne vois pas de raison que ça ne marche pas.
 --------------- Bricocheap: Montage de ventilo sur paté de mastic silicone  | 
blackgoddess vive le troll ! | nan mais déjà que c pas facile pour moi a comprendre, si en plus personne n'est d'accord ...  --------------- -( BlackGoddess )-  | 
YungMakko  | Oui en effet en passant comme ça, ça marche tout à fait!
 --------------- In tartiflette, we trust!  | 
blackgoddess vive le troll ! | ah bien tlm est d'accord  --------------- -( BlackGoddess )-  | 
Musaran Cerveaulté | 
 
 Ça suffit comme explication ?
 
 La fonction ThreadEntry prend un LPVOID comme argument. 
 "Certains" fainéants ou qui se croient malins vont avoir une surprise le jour du passage au 64 bits:
 --------------- Bricocheap: Montage de ventilo sur paté de mastic silicone  | 
blackgoddess vive le troll ! | k, g compris l'histoire du void*, mais pour la constance du créateur, si g bien compris, c si on délcare de pointeur vers l'objet en constante, cela ne sera pas repercuté sur TreadEntry, c ca ? --------------- -( BlackGoddess )-  | 
Musaran Cerveaulté | Oui.
 --------------- Bricocheap: Montage de ventilo sur paté de mastic silicone  | 
blackgoddess vive le troll ! | bin merci me voila fortement eclairé now  --------------- -( BlackGoddess )-  | 
Publicité  | Posté le    ![]() ![]()  | 
| Sujets relatifs | |
|---|---|
| petite question sur les classes | Objets, Classes, Fonctions avec objets en paramétres, *, & :Prob. | 
| connaissez pas des exercices résolus en vc++(relations /e classes)???? | Question simple sur les classes amies | 
| C++ et threads + eCos | [Threads/C] Fonction non bloquante checkant si un thread est fini... | 
| Rational Rose : cacher des classes dans un diagramme... | Organiser mes librairies de classes | 
| [VC++ SANS MFC] exporter des classes | C XLib Threads - comment envoyer un message ? | 
| Plus de sujets relatifs à : classes et threads | |



  


