我正在尝试使用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类的任何线索?
答案 0 :(得分:1)
这适用于Poco::Timespan
:
bool isTimedOut()
{
Poco::Timestamp now;
Poco::Timespan timeElapsed(now - startTime);
if( timeElapsed > timeOutTime)
{
return true;
}
else
{
return false;
}
}