Bonjour à tous,
Je suis débutant dans le multi-threading en C++11 et j'aurais besoin de quelques conseils pour le cas suivant :
J'ai cette classe :
Avec a_ et b_ qui vont être accédés (lecture et écriture) en permanence par 2 threads.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 class Toto { public: // ... private: std::vector<A> a_; std::vector<B> b_; };
Il me semble que la solution classique est d'encapsuler l'accès à ces données dans des méthodes protégées par des std::mutex, mais je trouve cela assez fastidieux.
J'ai vu que std::atomic permet de rendre les opérations sur des données thread-safe, mais ça ne marche que pour les types de base non ?
Merci de me faire profiter de votre expérience pour me dire quelle est la meilleure méthode à adopter ici
Partager