Попробую запустить несколько QtConcurrent, для функции, которая должна изменить значение:
void MyClass::parse_data_request(QVector<event_discription> &event_vec, QString list_events, QString num, QStringList &loc_key_collector, QStringList &loc_key_ru)
И выполнить команду throw:
QVector<QFuture<void> > threads(thread_counts);
for(int i = 0; i < thread_counts; i++)
{
threads[i] = QtConcurrent::run(this,&MyClass::parse_data_request, it_event[i], list_events[i], proxy[proxy_num + i],glob_key_collector[i], glob_key_ru[i]);
qDebug() << "Run thread No " << i;
}
for(int i = 0; i < thread_counts; i++)
{
threads[i].waitForFinished();
}
В функции я добавляю данные в event_ve c, но когда
for(int i = 0; i < thread_counts; i++)
{
threads[i].waitForFinished();
}
сделано, it_event [i], glob_key_collector [i] и glob_key_ru [i] не изменяются, они имеют нулевые элементы. Что я делаю не так?
PS: QtConcurrent :: run вызывается в другой функции MyClass