正在做大量的研究,但找不到答案。我有一个应用程序,该应用程序是通过创建从QObject派生的实例而构建的,这些实例移至其他线程。在这些“线程”中,我有一个QNetworkAccessManager,我在那里休息请求以求天蓝色。我现在的问题是,我有一些重试逻辑正在快速发生。例如,如果不存在容器,则需要创建该容器以重试请求(放入Blob)。问题是如果put blob请求在创建容器后发生得太快,它将无法上传任何内容。另外,我想增加两次联系之间的时间,以免彼此之间很快发生冲突。强制线程从自身内部休眠的最佳方法是什么?

最佳答案

我可能最终会使用QTimer和信号/插槽的某种组合。例如:

// Slot
void retry() { ... }

...

// Execute retry code in 1 second:
QTimer::singleShot( 1000, this, SLOT(retry()) );

关于c++ - QThread内部的 sleep 功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10168187/

10-10 19:25