![]() |
1
1
没有组合
我唯一能想到的就是先终止各种进程,然后销毁对象。通过这种方式,您可以确保每个进程优雅地终止,必要时清理自己的混乱(它可能需要对象来完成)。 不能
您可以从析构函数本身或通过重载各种
|
![]() |
2
2
可以使用现有的引用计数机制(
唯一缺少的另一件事是,当主线程释放其引用时,它应该向工作线程发出信号,让它删除自己的引用。一种方法是通过
event
|
![]() |
3
0
您将需要一些其他的状态对象,线程可以检查以验证“客户机”仍然有效。
|
![]() |
4
0
您可以将observer模式与线程中客户端的代理对象一起使用。代理就像智能指针一样,将访问转发到真正的客户端。当您创建它们时,它们向客户机注册自己,这样客户机就可以从其析构函数中使它们失效。一旦它们失效,它们就停止转发并返回错误。 |
![]() |
5
0
这可以通过向线程传递(boost)弱指针来处理。 |