c++ - Poco 时间戳和时间跨度

标签 c++ poco-libraries

我正在尝试使用 Poco 时间类来计算我程序中的一些时间。我想检测线程中的超时。

我首先创建一个表示我的超时时间的时间跨度,一个线程启动时间的时间戳,并检查当前时间跨度是否大于超时时间,即

Poco::Timestamp startTime;
Poco::Timespan timeOutTime(60*Poco::Timespan::SECONDS); // 60s timeout

我想在定时器函数中检查超时:

bool Process::isTimedOut()
{
    Timestamp now;
    if((now - startTime) > timeOutTime)
    {
        return true;
    }
    else
    {
        return false;
    }
}

但是,上面if语句中的超时检查不编译:说非法结构操作。

关于如何使用这些 poco 类的任何线索?

最佳答案

这适用于 Poco::Timespan:

bool isTimedOut()
{
    Poco::Timestamp now;
    Poco::Timespan timeElapsed(now - startTime);
    if( timeElapsed > timeOutTime)
    {
        return true;
    }
    else
    {
        return false;
    }
}

关于c++ - Poco 时间戳和时间跨度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37975982/

相关文章:

c++ - initializer_list 不可变的性质导致过度复制

c++ - Poco XML - 获取节点内部 XML

android - 中止 : HEAP MEMORY CORRUPTION on NDK env.(POCO 库、Sqlite3、Cocos2dx)

c++ - 从 C++ CreateProcess 启动 Windows 批处理有不同的行为

c++ - 如何准确地包含 POCO 库?

c++ - 尽管主机、方法、内容类型设置正确,但 Poco 库 PUT 方法未按预期工作

c++ - 如何在 C++ 中从二维数组中查找列平均值

c++ - 在 WM_COMMAND 和 WM_LBUTTONDOWN 分支之间保持状态

c++ - 模板化检查是否存在类成员函数?

c++ - Boost.Statechart - 记录的选择点方法问题