Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1250 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C/C++] Threads > mutual exclusions, critical sections....

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C/C++] Threads > mutual exclusions, critical sections....

n°409179
antsite
Je me souviens
Posté le 27-05-2003 à 14:26:55  profilanswer
 

   Salut,
 
Je me pose la question quand à l'accès de variables par plusieurs threads :
Est-ce uniquement l'écriture qui pose problème, j'entends par là a-ton besoin de mutex / ... pour simplement faire lire une variable par les multipes threads?  Ou alors dès que l'on veut utiliser la variable aussi bien en lecture / écriture, il faut utiliser les mutex ?
 
merci
    ANT

mood
Publicité
Posté le 27-05-2003 à 14:26:55  profilanswer
 

n°409184
skeye
Posté le 27-05-2003 à 14:30:03  profilanswer
 

ANTSite a écrit :

   Salut,
 
Je me pose la question quand à l'accès de variables par plusieurs threads :
Est-ce uniquement l'écriture qui pose problème, j'entends par là a-ton besoin de mutex / ... pour simplement faire lire une variable par les multipes threads?  Ou alors dès que l'on veut utiliser la variable aussi bien en lecture / écriture, il faut utiliser les mutex ?
 
merci
    ANT


Une mutex n'est utile que dans le cas ou un de tes threads va modifier la variable...s'il n'y a que des lectures je vois pas l'intéret!

n°409185
LetoII
Le dormeur doit se réveiller
Posté le 27-05-2003 à 14:31:25  profilanswer
 

Ben en lecture c pas nécessairement utile, tout dépend de ce qu'on fait, enfin vaut peut être mieux empécher les autres d'écrire en même temps qu'on lit :D


---------------
Le Tyran
n°409186
LetoII
Le dormeur doit se réveiller
Posté le 27-05-2003 à 14:32:14  profilanswer
 

skeye a écrit :


Une mutex n'est utile que dans le cas ou un de tes threads va modifier la variable...s'il n'y a que des lectures je vois pas l'intéret!


 
 [:plusun] Enfin tu va bien être obligé d'écrire dans cette variable à un moment ou à un autre, si non son utilité me semble limitée :D


---------------
Le Tyran
n°409188
skeye
Posté le 27-05-2003 à 14:34:02  profilanswer
 

LetoII a écrit :


 
 [:plusun] Enfin tu va bien être obligé d'écrire dans cette variable à un moment ou à un autre, si non son utilité me semble limitée :D


peut-etre avant de créer les threads (possible ca? ca fait longtemps que j'ai pas touché tout ca...)

n°409189
antsite
Je me souviens
Posté le 27-05-2003 à 14:34:23  profilanswer
 

oui et donc est-ce que on est obligé de protéger à la fois celui qui veut lire et celui qui veut écrire ou on en protège juste un, j'entends par protéger, mettre un critical section ou autre...

n°409193
LetoII
Le dormeur doit se réveiller
Posté le 27-05-2003 à 14:37:13  profilanswer
 

skeye a écrit :


peut-etre avant de créer les threads (possible ca? ca fait longtemps que j'ai pas touché tout ca...)


 
Oui y a cette possibilité.
 
 


---------------
Le Tyran
n°409194
LetoII
Le dormeur doit se réveiller
Posté le 27-05-2003 à 14:37:57  profilanswer
 

ANTSite a écrit :

oui et donc est-ce que on est obligé de protéger à la fois celui qui veut lire et celui qui veut écrire ou on en protège juste un, j'entends par protéger, mettre un critical section ou autre...


 
Ben si tu as des accés en lecture et en écriture qui sont concutrents vaut mieux protéger la lecture et l'écriture.


---------------
Le Tyran
n°409196
skeye
Posté le 27-05-2003 à 14:38:29  profilanswer
 

ANTSite a écrit :

oui et donc est-ce que on est obligé de protéger à la fois celui qui veut lire et celui qui veut écrire ou on en protège juste un, j'entends par protéger, mettre un critical section ou autre...


Les 2...sinon je vois pas l'intéret!
Si ta variable est en cours de modif il ne faut pas qu'elle soit lue, et inversement!

n°409658
Konar
Posté le 27-05-2003 à 18:13:51  profilanswer
 

si c'est des opérations atomiques, inutile de mettre des sections critiques.
 
avec des opérations sur la stl aussi (écriture et/ou lecture), apparemment pas besoin de sections critiques. (c'est ce qu'on m'a dit, apres chuis pas allé vérifier)

mood
Publicité
Posté le 27-05-2003 à 18:13:51  profilanswer
 

n°409890
SoWhatIn22
Posté le 28-05-2003 à 08:14:15  profilanswer
 

Konar a écrit :

si c'est des opérations atomiques, inutile de mettre des sections critiques.
 
avec des opérations sur la stl aussi (écriture et/ou lecture), apparemment pas besoin de sections critiques. (c'est ce qu'on m'a dit, apres chuis pas allé vérifier)


il ne faut pas croire tout ce que l'on te dit. La STL est censée supporter le multithreading mais c'est à l'utilisateur de protéger les accès dans ce cas.
Dire que la STL doit supporter le multithreading peut paraître évident, mais ce n'est par pas exemple pas le cas des templates map de la stl de microsoft fournie avec VC6. Il faut appliquer un patch pour que ce soit le cas.

n°410024
Konar
Posté le 28-05-2003 à 10:27:29  profilanswer
 

sowhatin22 a écrit :


il ne faut pas croire tout ce que l'on te dit. La STL est censée supporter le multithreading mais c'est à l'utilisateur de protéger les accès dans ce cas.
Dire que la STL doit supporter le multithreading peut paraître évident, mais ce n'est par pas exemple pas le cas des templates map de la stl de microsoft fournie avec VC6. Il faut appliquer un patch pour que ce soit le cas.


 
de toute facon j'ai cru comprendre qu'il fallait eviter la stl avec vc6. avec le 7 la c'est mieux

n°410028
Taz
bisounours-codeur
Posté le 28-05-2003 à 10:30:17  profilanswer
 

Konar a écrit :


 
de toute facon j'ai cru comprendre qu'il fallait eviter la stl avec vc6. avec le 7 la c'est mieux

tiens j'aurais tenu le raisonnement inverse  :whistle:  :lol:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C/C++] Threads > mutual exclusions, critical sections....

 

Sujets relatifs
[Threads] A t'on un controle quelconque sur le CPU utilise ?Synchronisation de threads
phpBB : Critical Error, comment faire ?Arrêt individuel de tous les threads d'un ThreadPool
[C/C++] Thread et accès à une variable par 2 threads en même temps...Threads : méthodes dépréciées
threads, suspend() et resume() (nouveau pb dernier post)[PERL] Problême de data sharing entre plusieurs threads...
Lancer plusieurs threads en pythonC'est chaud l'utilisation de threads ?
Plus de sujets relatifs à : [C/C++] Threads > mutual exclusions, critical sections....


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR