【发布时间】:2014-03-09 02:18:18
【问题描述】:
我使用for循环向http://www.example.com发送请求:
for(int i = 0; i < size; ++i)
{
request.setUrl("http://www.example.com");
manager.get(request);
}
我想并行处理回复,所以我运行了 10 个线程,每个线程都有一个槽函数来将回复添加到Qvector<QNetworkReply*>。我将这个 10 槽函数连接到 manager 的信号 finished(QNetworkReply*)。在这种情况下,当finished(QNetworkReply*) 发出时,这10 个槽函数将被调用以将此回复添加到向量中10 次。我想如果一个线程已经处理了这个函数,其余的 9 个线程放弃这个信号以等待另一个信号发出。有没有办法吃掉第一个插槽中的finished(QNetworkReply*)?
【问题讨论】:
-
目前,您的要求有些不清楚和奇怪。您能否提供更多代码来代表您正在尝试做的事情?
标签: c++ multithreading qt