当前位置:  开发笔记 > 编程语言 > 正文

使用Boost.Asio时,确保有效对象使用寿命的最佳方法是什么?

如何解决《使用Boost.Asio时,确保有效对象使用寿命的最佳方法是什么?》经验,为你挑选了0个好方法。

最近和Boost.Asio一起玩了很多.我非常喜欢这个库,因为它提供了一种从当今的多核系统中挤出性能的绝佳方法.

我问自己几次的问题,我认为在与Asio进行异步调用时,有必要抛弃对象的生命周期/所有权.

我反复遇到的问题是,你经常需要"过期"一个仍然有异步回调的对象.如果在调用回调之前该对象超出范围,则事物不可避免地会爆炸.

为了解决这个问题,我已经将boost::enable_shared_from_this模板用作大多数基于asio的类的基类.这可以正常工作,但这有点麻烦:通常这也意味着保护构造函数并向类中添加工厂方法以确保在shared_ptr中创建所有实例.

我只是想知道其他人是如何解决这个问题的.我是最好的方式吗?或者我的Asio.Foo都错了?

讨论... :)

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有