c++ - ACE C++ - 如何实现函数调用超时?

标签 c++ methods timeout ace

我需要在超时中包装一个函数,在 C++ 中使用 ACE。 该函数正在等待操作系统的响应,有时不返回。

我不能修改这个函数,所以我不能直接把中止条件放进去。我必须在外部为函数添加超时。

我在 boost 中看到了类似的问题 - C++: How to implement a timeout for an arbitrary function call?

但是,我正在使用 ACE。

最佳答案

将函数放在一个单独的线程中。如果线程在超时时间内没有退出,则将其分离并让它在后台运行完成,而不会从中获取任何结果。

请注意,如果函数有副作用(如写入文件),这将不起作用。

关于c++ - ACE C++ - 如何实现函数调用超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22982084/

相关文章:

shell - 从 shell 写入 fifo/pipe,有超时

c++ - GCC -Wuninitialized/-Wmaybe-uninitialized 问题

c++ - 现有 win 控制台应用程序的简单 GUI 插件

c++ - 删除虚拟继承

Java:如何在类内部引用另一个元素的类?

python - python、windows平台如何强制超时函数

c++ - 在 C++ 代码中集成 matlab C++ 共享库

ruby-on-rails - 是否可以在 View Rails 中调用 ActiveRecord 方法

ruby - 我可以让 ruby​​ 打印动态方法的源代码吗?

android - x 分钟后自动重新打开 android/ios 应用程序