我们有一个解码函数,它在自己的线程中运行以执行其工作。执行时间通常远低于定义的超时值,但在某些情况下可能需要更长的时间才能完成。因此需要有一个超时,以确保这个函数不会对程序的其余部分造成额外的延迟。
这目前正在 Windows 操作系统上开发,但我也在寻找一种适用于 Linux 的便携式解决方案。
到目前为止,该实现在解码函数中进行了多次检查,以查看它是否还有时间继续或中止处理。这是定义。不是很好的做法,我正在考虑改进这一点。
我知道 boost 提供了这样的功能,但我们在这个项目中没有使用 boost。