Existe-t-il une meilleure pratique pour gérer un objet partagé par 2 autres objets ou plus. Même en cours d'exécution sur un fil différent?C++ Gestion des problèmes Handle de l'objet partagé
Pour l'exemple A est créé et un pointeur est donné à B et C. ObjA A = new ObjA(); B-> GiveObj (A); C-> GiveObj (A);
Maintenant, comment puis-je supprimer objA? Jusqu'à présent, ce que je pensais est un moniteur combien il y a de ref et quand ce compteur est 0 il supprime ceci (comme quand A est passé, le récepteur appelle A-> Aquire(), quand c'est fini appelez A-> release();
Ou je pourrais dire B-> RemoveObj (A), et C-> RemoveObj (A); Le problème avec ceci est si B ou C fonctionnent sur un thread différent, Je ne peux pas supprimer A jusqu'à ce qu'ils aient fini avec A, et ils ont vu l'appel de RemoveObj. (Qui exigent un tas de drapeaux désordonnés)
Y aurait-il une bonne manière de faire ceci, probablement avec Signal/Slot?
Merci