[C/C++] Multithreading : protéger une variable globale (Lock)

Multithreading : protéger une variable globale (Lock) [C/C++] - Programmation

Marsh Posté le 02-04-2002 à 21:24:00    

J'ai une fonction qui va être lancée plusieurs fois en thread par une autre fonction (thread appelant). Seulement la fonction qui est lancée plusieurs fois doit accéder à une variable globale et donc pour éviter des crash je suohaite protéger cette variable quand un des thread y accède :
 
int n;
 
fonc() //lancée plusieurs fois
{
 Lock
 n++;
 Unlock
}
 
sauriez vous comment faire pour "locker & délocker" ? J'ai regardé du coté de CCriticalSection mais je n'ai pas compris comment dire que c mon <int n> à protéger.
Merci
   ANT

Reply

Marsh Posté le 02-04-2002 à 21:24:00   

Reply

Marsh Posté le 02-04-2002 à 21:36:42    

un très bon article sur le multithreading :
 
http://www.codeproject.com/threads/sync.asp
 
pour la critical section, un seul thread peut la 'posséder'. donc des variables modifiées entre enter() et leave() ne seront pas modifiées par un autre thread qui les modifie lui aussi entre un enter() et un leave().

Reply

Marsh Posté le 03-04-2002 à 11:09:14    

Ok merci beaucoup, en effet le lien est super !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed