我在我的应用程序中创建每个httpClient对象时使用QNetworkAccessManager并在HttpClass离开堆栈后将其删除,我有300个http请求的内容
我在aloop中做的,我知道从4.8开始,http请求是多线程的,所以我不必担心像我喜欢的那样执行,并且它的工作性很好。
问题是我怎么知道所有线程请求何时完成(所有300个)我能发出一些信号吗?
这是请求的循环,http客户端有通常的http信号
QMapIterator<QString,QString> i(m_urlMap);
while (i.hasNext())
{
i.next();
QString sUrl = i.value();;
HttpClient* pHttpClient = new HttpClient(m_pFileOutput,m_pMutex);
bool bReturnInvokeHttpClient = false;
bReturnInvokeHttpClient = pHttpClient->startRequest(sUrl);
}
在完成工作时,我是否需要手动跟踪每个httpclient?
答案 0 :(得分:1)
QNetworkAccessManager只有一个信号在 a 请求完成时熄灭,但没有一个信号在最后一个请求完成时熄灭。因此,我必须自己跟踪。
祝你好运