|
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 |