C++ 事件处理

标签 c++ events boost boost-asio

我正在为异步网络客户端使用出色的 asio。在处理读取 (async_read) 时,我担心处理数据的方法/函数可能会挂起或花费太长时间(该函数由类的用户提供)。

调用提供的函数的最佳方法是什么确保它不会花费太长时间?

感谢您的宝贵时间。

最佳答案

您可以编写一个包装函数,它在单独的线程中启动给定的处理程序并对其执行 timed_join。如果超时,您可以抛出异常或执行任何您想要的操作。

关于C++ 事件处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3972042/

相关文章:

javascript - 为什么我无法使用 jQuery 的 .keypress()、.keydown() 和 .keyup() 事件正确比较两个字符串?

c++ - C++中的工厂模式链接器错误 undefined reference

javascript - 对元素的显示属性的更改进行一些操作

c++ - 无法构建 RcppArmadillo.package.skeleton 测试包 : Multiple definition of `R_init_<name>'

php - 如何在 PHP 中捕获 exit() 事件?

c++ - 如何使用 boost::thread_group 使用多客户端服务器?

c++ - boost::lockfree::函数队列?

c++ - 如何动态设置 boost 多数组的维度

c++ - 使用 OpenGL 绘制圆

c++ - 字符串结构体和字符串数组一样吗?