Bonjour.
J'aimerai paralléliser un programme qui opère sur des objets dérivés de std::vector et j'aurai voulu savoir quelles étaient les opérations qui doivent être déclarées comme critical (les threads doivent attendre que les autres aient terminé avant de commencer). Tout ce qui est resize/push_back est bien sur critical, mais en est-il de même pour l'accès aux éléments d'un vector commun ? Ou alors tous les threads peuvent faire des ".at(i)" ou "[i]" en même temps sur un même objet (ce que j'espère mais bon je préfère me méfier) ?
Partager