eldar85
11.06.2010, 12:22
никак не разберу как сразу несколько потоков создать чтобы они выполняли одну и ту же функцию, =, но с разными переменными QString. к примеру вот написал код, получается полная фигня, во первых как будто все равно все работает в одном потоке и во вторых прога умудряется вылететь
void mainWindow::Start()
{ Thread thread;
list1 << "1" << "2" << "3"<< "4" << "5" << "6"<< "7" << "8" << "9"<< "10" << "11" << "12"<< "13" << "14" << "15";
list2 << "101" << "102" << "103"<< "104" << "105" << "106"<< "107" << "108" << "109"<< "110" << "111" << "112"<< "113" << "114" << "115";
q3 = text1->toPlainText();
qDebug() << q3;
for(int i=0; i<5; i++)
{
q1 = list1[i];
q2 = list2[i];
thread.run();
thread.start();
}
text->append(q3);
}
void Thread::run()
{
makeFunktion(q1, q2);
}
void Thread::makeFunktion(QString str1, QString str2) { Sleep(1000);
qDebug() << q1 << q3;
// qDebug() << str1 << str2; }
что же я делаю то не так?????
void mainWindow::Start()
{ Thread thread;
list1 << "1" << "2" << "3"<< "4" << "5" << "6"<< "7" << "8" << "9"<< "10" << "11" << "12"<< "13" << "14" << "15";
list2 << "101" << "102" << "103"<< "104" << "105" << "106"<< "107" << "108" << "109"<< "110" << "111" << "112"<< "113" << "114" << "115";
q3 = text1->toPlainText();
qDebug() << q3;
for(int i=0; i<5; i++)
{
q1 = list1[i];
q2 = list2[i];
thread.run();
thread.start();
}
text->append(q3);
}
void Thread::run()
{
makeFunktion(q1, q2);
}
void Thread::makeFunktion(QString str1, QString str2) { Sleep(1000);
qDebug() << q1 << q3;
// qDebug() << str1 << str2; }
что же я делаю то не так?????