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

  FORUM HardWare.fr
  Programmation
  C++

  vector et thread safe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

vector et thread safe

n°1911036
Glock 17Pr​o
Posté le 02-08-2009 à 21:48:25  profilanswer
 

salut,
 
Les conteneur de la stl sont -ils thread safe ? vector, list
et si non , la meilleur méthode est de les encapsuler dans une classe ?
Merci

mood
Publicité
Posté le 02-08-2009 à 21:48:25  profilanswer
 

n°1911040
Joel F
Real men use unique_ptr
Posté le 02-08-2009 à 22:07:47  profilanswer
 

1/ non
2/ oui

n°1911046
Glock 17Pr​o
Posté le 02-08-2009 à 22:46:08  profilanswer
 

ty

n°1911063
Olivier51
Posté le 03-08-2009 à 00:34:57  profilanswer
 

D'ailleurs il y a moyen de connaitre la réference de l'élement inséré sans utilisé de sémaphore ?
 
Contexte :

Code :
  1. typedef struct { int value; } A;
  2. std::vector<A> myVector;
  3. A a;
  4. a.value = 5;
  5. // "locker" ici
  6. (void)myVector.push_back(a);
  7. A& b = myVector.back();
  8. // "unlocker" ici

n°1911085
Taz
bisounours-codeur
Posté le 03-08-2009 à 09:31:19  profilanswer
 

Même avec un mutex pour faire ton back, utiliser b en dehors de la section de critique serait foireux.

n°1911095
Joel F
Real men use unique_ptr
Posté le 03-08-2009 à 09:54:00  profilanswer
 

gaffe que rendre thread safe des methodes trop fines va pourrir tes perfs car tu vas passer ta vie à entrer/sortir de zone d'attente.

n°1911114
Olivier51
Posté le 03-08-2009 à 10:51:15  profilanswer
 

Ben ouais, c'est bien ca le probleme; en fait la question se limitait juste a la methode pour avoir la reference de l'element insere. Pour savoir si il y avait plus direct.
 
Par contre, comme le sous-entendait Taz, une reference sur un des items de std::vector<> peut me reserver des surprises si un des thread s'amuse a redimensioner la taille du vector et implique une reallocation ...

n°1911119
Taz
bisounours-codeur
Posté le 03-08-2009 à 10:57:50  profilanswer
 

Si tu veux aller par là, mieux vaut utiliser un vector de smartpointers eux-mêmes threadsafe: comme ça, ce que tu ramasses n'est pas pourri.

n°1911219
Joel F
Real men use unique_ptr
Posté le 03-08-2009 à 13:32:28  profilanswer
 

Taz a écrit :

Si tu veux aller par là, mieux vaut utiliser un vector de smartpointers eux-mêmes threadsafe: comme ça, ce que tu ramasses n'est pas pourri.


Ca parait deja mieux.


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

  vector et thread safe

 

Sujets relatifs
Profiling thread & deadlocksocket pas thread safe sous linux ? si en fait (resolu)
vector libération mémoirethread et sleep dans destructeur
[Resolu]Serveur Multi Thread en Cvariable et thread safe
vector de pointeur sur classe polymorphique[C#] changer texte label avec conflit de thread
Plus de sujets relatifs à : vector et thread safe


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