我正在为异步网络客户端使用出色的 asio
。在处理读取 (async_read
) 时,我担心处理数据的方法/函数可能会挂起或花费太长时间(该函数由类的用户提供)。
调用提供的函数的最佳方法是什么和确保它不会花费太长时间?
感谢您的宝贵时间。
最佳答案
您可以编写一个包装函数,它在单独的线程中启动给定的处理程序并对其执行 timed_join。如果超时,您可以抛出异常或执行任何您想要的操作。
关于C++ 事件处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3972042/