Chinaunix

标题: boost asio io_service 队列超长耗尽资源的问题 [打印本页]

作者: wlmqgzm    时间: 2016-05-03 12:15
标题: boost asio io_service 队列超长耗尽资源的问题
发现一个问题, boost asio io_service队列超长耗尽资源的问题. 原来这个队列是没有上限的, 这算不算一个bug呢???

我今天为了测试一下代码,  将debug整体打开,  其中显示模块是一个单线程io_service单独驱动的,  由于显示执行是很慢的, 其他线程不断的post过来需要显示的内容,
然后显示模块io_service的队列越来越长,  不管它, 过10分钟, 队列将 系统内存资源已经消耗光了, 进程自动退出

作者: wlmqgzm    时间: 2016-05-03 12:23
当然解决办法也有, 很简单, 就是自己设计一个有容量上限的显示string队列, 然后改代码, 从显示string队列中读,  不用io_service,  就是很意外,  io_service为了追求效率, 队列尽然没有长度上限检查.




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2