等待完成异步操作

时间:2011-03-22 10:25:12

标签: boost boost-asio

全部!

有一个io_service对象,方法run()在线程池中工作。 有一组类,使用ip :: tcp :: socket进行异步写入。 我需要阻止这类类的析构函数,直到他的任务存在于io_service的队列中。 例如,添加方法join()。但是阻止析构函数的原因是什么?

2 个答案:

答案 0 :(得分:0)

我不确定我是否正确理解了你的问题,但听起来你想确保在操作完成之前不会销毁等待优秀异步操作的类?

enable_shared_from_this成语可以用于此目的,例如,在http://www.boost.org/doc/libs/1_46_1/doc/html/boost_asio/tutorial/tutdaytime7/src.html。如果你看一下tcp_connection :: start,你会看到类如何将shared_ptr传递给它自己,以作为异步操作的处理程序进行绑定。

答案 1 :(得分:0)

相关问题