Threads > mutual exclusions, critical sections.... [C/C++] - C++ - Programmation
Marsh Posté le 27-05-2003 à 14:30:03
ANTSite a écrit : Salut, |
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!
Marsh Posté le 27-05-2003 à 14:31:25
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
Marsh Posté le 27-05-2003 à 14:32:14
skeye a écrit : |
Enfin tu va bien être obligé d'écrire dans cette variable à un moment ou à un autre, si non son utilité me semble limitée
Marsh Posté le 27-05-2003 à 14:34:02
LetoII a écrit : |
peut-etre avant de créer les threads (possible ca? ca fait longtemps que j'ai pas touché tout ca...)
Marsh Posté le 27-05-2003 à 14:34:23
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...
Marsh Posté le 27-05-2003 à 14:37:13
skeye a écrit : |
Oui y a cette possibilité.
Marsh Posté le 27-05-2003 à 14:37:57
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.
Marsh Posté le 27-05-2003 à 14:38:29
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!
Marsh Posté le 27-05-2003 à 18:13:51
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)
Marsh Posté le 28-05-2003 à 08:14:15
Konar a écrit : si c'est des opérations atomiques, inutile de mettre des sections critiques. |
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.
Marsh Posté le 28-05-2003 à 10:27:29
sowhatin22 a écrit : |
de toute facon j'ai cru comprendre qu'il fallait eviter la stl avec vc6. avec le 7 la c'est mieux
Marsh Posté le 28-05-2003 à 10:30:17
Konar a écrit : |
tiens j'aurais tenu le raisonnement inverse
Marsh Posté le 27-05-2003 à 14:26:55
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