0
是否有管理由2个或更多其他对象共享的对象的最佳做法。即使在不同的线程上运行?C++管理共享对象的句柄问题
例如,A被创建并且它的指针被给予B和C. B> GiveObj(A); C)> GiveObj(A);
现在我该如何删除objA?
到目前为止,我所关心的是监视器有多少参考点,当这个计数器为0时,它会删除它(例如当A通过时,接收器调用A-> Aquire(),当它完成时它调用A-> release();
或者我可以告诉B-> RemoveObj(A);和C-> RemoveObj(A);问题是如果B或C在不同的线程上运行,我不能删除A,直到他们完成A,并且他们看到了RemoveObj调用(这需要一堆杂乱的标志)。
会有一个很好的方式来做到这一点,可能与信号/插槽?
谢谢