Singleton - multithread - protection donnees - conteneurs stl
Bonjour,
Une petite question sur la gestion des données via les conteneurs de la stl et iterateurs que je n'ai pas l'habitude d'utiliser.
J'ai un gestionnaire de données qui interprète et stocke ses données dans des vecteurs set map etc..
Les differents thread de mon appli peuvent le requêter pour les récupérer (faire des recherches etc mais pas d'insertions [pour l'instant])
Je voulais donc passer mon gestionnaire en singleton.
Est ce que le travail qui est fait sur les recherches dans les conteneurs avec iterateur est thread safe ?
Concernant le problème du double check, peut on le résoudre en confiant son initialisation (donc creation) au main thread et faire seulement un getInstance dans les autres threads ?
Certains disent qu'un singleton est le resultat d'une mauvaise conception, y a t il d'autres solutions pour gerer par exemple le cas decrit ici ?
=> Creation d'une table de données a partir des parametres due recoit l'appli
=> Utilisation de ses donnees dans les threads de calcul
Merci d'avance
Bonne fin de journee