Bonjour,
tout est dis dans la question!! j'ai trouvé ce cour theoriquesur le net. mais c'est pas detaillé!! j'ai pas su comment l'appliquer en mfc!
Bonjour,
tout est dis dans la question!! j'ai trouvé ce cour theoriquesur le net. mais c'est pas detaillé!! j'ai pas su comment l'appliquer en mfc!
voila ce que j'ai fait (apres de longue recherche sur le net!!)
dans maclasse.h:
dans maclasse.cpp:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 #include <afxmt.h> static CCriticalSection sc;
apparament ça marche bien!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 CCriticalSection maclasse::sc; sc.Lock(); // section critique: les instructions faites par un seul thread a la fois sc.Unlock();
j'aimerai bien que quelqu'un me corrige si j'ai tort!
C'est tout bon
Raymond
Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi
CafuroCafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbeUn logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
C'est tout bon, mais tu pourrais encore aller plus loin avec un objet lock
ton code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 class CMyLock { public: inline CMyLock(CCriticalSection & CS) { m_cs = CS; m_cs.Lock(); } inline ~CMyLock(void) { m_cs.Unlock(); } private: CCriticalSection & m_cs; }
Code non testé, c'est juste l'idée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 static CCriticalSection sc; { CMyLock lock(sc); // lock la section critique et le destructeur se charge de delocker la section critique }
Raymond
Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi
CafuroCafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbeUn logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
je vois pas trop comment le faire!!
en plus j'ai un petit soucie, lorsque je met 2 section critique l'une a la suite de l'autre;
j'obtient le meme message d'erreur que j'obtenait avant de mettre la section critique!! la seule diff c'est qu'il met plus de temps pour m'envoyer le message!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 sc1.Lock(); //sc1 sc1.Unlock(); sc2.Lock(); //sc2 sc2.Unlock();
comment pouvez vous expliquez ça?
Raymond
Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi
CafuroCafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbeUn logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
Debug assertion failed !
Program: monProgram.exe
File: dbgheap.c
Line: 1044
Expression: _ctlIsValidHeapPointer(pUserData)
nb: a l'interieur de ma section critique je fais des requetes MYSQL!! (je pense pas que c'est la cause mais sait on jamais!!)
Partager