1

我在我的应用程序的每个 httpClient 对象创建中使用 QNetworkAccessManager 并在 HttpClass 出栈后将其删除,我有类似 300 个 http 请求
我在循环中执行,我知道从 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 m?

4

1 回答 1

1

QNetworkAccessManager 只有一个信号在请求完成时熄灭,但没有一个在最后一个请求完成时熄灭所以我担心你必须自己跟踪。

此致

于 2012-10-24T15:11:44.197 回答