【问题标题】:ACE C++ - How do I implement timeout for a function call?ACE C++ - 如何实现函数调用超时?
【发布时间】:2014-05-23 19:23:56
【问题描述】:

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

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

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

但是,我使用的是 ACE。

【问题讨论】:

  • 你能不能不举个例子,把boost::thread换成ACE_Thread??

标签: c++ methods timeout ace


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2010-10-27
    • 2017-03-25
    • 2011-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多