Sections Critiques

new0staff Messages postés 27 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 3 novembre 2004 - 25 oct. 2004 à 13:44
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 - 26 oct. 2004 à 02:43
Bonjour!

Dans une partie de mon programme, j'effectue des calculs sur variables en fonction d'une trame reçu par un serveur.

c'est-à-dire que lors de la réception de chaque trame, je fait l'appel à deux Threads qui extraient chacun de paramètres de cette trames(exp :strstr((LPCTSTR)strReply, "RTSP/1.0 ") + 9).

Le problème, c'est qu'il faut que les variables récupérées sont embrouillées(mélanges dans chaque variable de la valeur de chacune).

Je cherche donc une commande qui me permet de verouiller chaque thread pour qu'il soit considéré comme une section critique afin d'éviter les accès simultanés à la mémoire.

// Appel du Thread qui calcule le numéro de session reçu par le serveur.

CWinThread* pThread = AfxBeginThread( Recupere_Session, GetSafeHwnd(),THREAD_PRIORITY_NORMAL);

// Appel du thread qui traite l'aquitement du serveur.

//CWinThread* pThreadReply = AfxBeginThread( Verif_Reply, GetSafeHwnd(),THREAD_PRIORITY_NORMAL);

J'espère que je me suis bien exprimé.
En vous remerçiant à l'avance, passez une bonne journée.

haffa

1 réponse

cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
26 oct. 2004 à 02:43
Salut,
En win32 (sans mfc) tu as les fonctions EnterCriticalSection(), LeaveCriticalSection() qui font (je pense) ce que tu veux.
Reste plus qu'a trouver l'équivalent en MFC...
0
Rejoignez-nous