如果只是执行一个OS的socket句柄的关闭的话,还行。
复杂操作就不行了。
不过我到现在都没搞明白4楼那个崩溃栈是为啥,当时编译出来的可执行程序,每次运行时这个崩溃是必现的。
但是把boost库和一个第三方库又重新编译覆盖后,这个问题无法重现了。
【 在 weiwallz 的大作中提到: 】
: enable shared from this的目的是防止async回调的时候,对象已经销毁了,所以用一个shared_ptr 捕获到回调的lamda里面,这样能保证回调执行的时候,对象依然还在
: 但是,从另一个线程去stop socket则是另外一码事,这样做的前提是所有的boost socket操作都是线程安全的,但是实际上这个没有明确保证,所以还是不建议从另一个线程去stop socket
:
--
修改:z16166 FROM 221.218.163.*
FROM 221.218.163.*