peakzhang 发表于 2008-7-15 22:51:56

我的方法是此计数不为0时,就等个几十毫秒,把CPU给PROACTOR,让其尽快处理那些读写操作,然后再判断是否为0,此时再删除之,一般情况下等了这么长时间后,计数都会变为0,所以是比较安全的;若此时计数还大于0,那就是在其它地方出错了,再等多少时间也不会减少为0了,这种情况比较少见,运行几天也不一定能碰到一次;虽然这种方式不是很完美,但我觉得比添加了监视线程为好一点。。。

peakzhang 发表于 2008-7-15 22:52:06

不是最佳方案 - 直接给处理器对象增加引用计数即可,方便直接。

peakzhang 发表于 2008-7-15 22:52:14

这个对象是处理器对象,很简单的。C++网络编程卷2的例子中就有

peakzhang 发表于 2008-7-15 22:52:23

在Handler handle_read_stream和handle_write_stream中加入引用计数机制后,问题得到初步解决,由此感觉在类似多线程程序中这样的问题要引起严重的重视:)

在此感谢winston和各位的大力帮助!
页: 1 [2]
查看完整版本: Proactor中调用delete this 框架报错?