对象生命所有权与TaskPool的归属问题

来源:互联网 发布:加强网络管理的通知 编辑:程序博客网 时间:2024/05/29 04:37

场景

当对象的指针传入另一个线程时,对象的生命周期管理就变得复杂了,对象不能随意销毁自己了,因为其它线程可能正在使用它。相当于对象变成全局的变量了,对于全局变量我们直观的感觉就是加锁,但是加锁就当编程变得不优雅了,需要在这个对象使用的地方都加上锁。

解决办法

最好的的办法,应该是通过引用计数来处理了,boost现在提供了智能指针,如果觉得boost使用太复杂了,可以自己写一个拥有引用计数的接口,使用的时候,如果有对象会处于多线程中,就继承这个引用计数的基类,使用还是很方便的。

编码

编码晚点上传。。。
0 0
原创粉丝点击