也不是不可以 直接外部stop socket就是硬刹车 里面所有未完成的任务直接按错误代码回呼
死机的最大可能是那个socket本身是个指针 stop以后就被释放了 然后所有callback里如果绑了socket的指针就都出问题了
如果去读asio自带的example 所有的socket几乎都是enable shared from this 然后绑的都是shared ptr
换个思路想 因为是异步代码 除非你有什么机制保证socket这些都是最后才被清理的资源 不然谁使用谁释放的stack逻辑就不成立 那就老实用shared ptr 如果真的执着于运行效率 去弄一个pool
【 在 z16166 的大作中提到: 】
: 别人的库里的一个代码,还好有源码。这个代码也踩了boost asio的坑,比如在worker线程之外的stop ...
--
FROM 115.193.172.*