找回密码
 用户注册

QQ登录

只需一步,快速开始

楼主: peakzhang

Proactor中调用delete this 框架报错?

[复制链接]
 楼主| 发表于 2008-7-15 22:51:56 | 显示全部楼层
我的方法是此计数不为0时,就等个几十毫秒,把CPU给PROACTOR,让其尽快处理那些读写操作,然后再判断是否为0,此时再删除之,一般情况下等了这么长时间后,计数都会变为0,所以是比较安全的;若此时计数还大于0,那就是在其它地方出错了,再等多少时间也不会减少为0了,这种情况比较少见,运行几天也不一定能碰到一次;虽然这种方式不是很完美,但我觉得比添加了监视线程为好一点。。。
 楼主| 发表于 2008-7-15 22:52:06 | 显示全部楼层
不是最佳方案 - 直接给处理器对象增加引用计数即可,方便直接。
 楼主| 发表于 2008-7-15 22:52:14 | 显示全部楼层
这个对象是处理器对象,很简单的。C++网络编程卷2的例子中就有
 楼主| 发表于 2008-7-15 22:52:23 | 显示全部楼层
在Handler handle_read_stream和handle_write_stream中加入引用计数机制后,问题得到初步解决,由此感觉在类似多线程程序中这样的问题要引起严重的重视:)

在此感谢winston和各位的大力帮助!
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-11-21 21:11 , Processed in 0.013105 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表