Exécution de deux fonctions en parallèle
Bonjour,
j'ai un petit problème très simple à comprendre mais assez complexe à résoudre.
Voici le code:
Code:
1 2 3 4 5 6
| void MainWindow::sleep(int time)
{
dieTime = QTime::currentTime().addMSecs(time);
while (QTime::currentTime() < dieTime)
QCoreApplication::processEvents(); // (QEventLoop::AllEvents, 100)
} |
Code:
1 2 3 4 5 6 7 8
| void MainWindow::button_test1()
{
while(true)
{
this->write("test 1", "console");
this->sleep(1000);
}
} |
Code:
1 2 3 4 5 6 7 8 9 10
| void MainWindow::button_test2()
{
int nb = 0;
while(nb < 10)
{
this->write("test 2", "console");
this->sleep(1000);
nb++;
}
} |
Quand j'appuis sur le bouton test2 après le bouton test1, le bouton test1 se stop, le bouton test2 écrit 10 fois "test 2" et seulement à la fin le bouton test1 reprends l'écriture de "test 1" dans la console de mon application.
N'y a-t'il pas un moyen pour que button_test1 et button_test2 s’exécute en même temps en prenant le relais durant le sleep ?
La seul solution est-elle de passer par des threads ???
Merci d'avance,
Matthieu