lwei2 发表于 2020-5-8 09:36:50

Qt 循环运行线程

请问,我再主线程的一个槽函数中循环开启一个线程,但是它只执行最后一次线程,是怎么才能让它循环执行该线程结束后再开启新的一样的线程呢?
例如:
for(int i = 0; i < 3; i++)
{
//    线程1
   thread1.start();
   thread1.dosomething();
//    线程2
   thread2.start();
   thread2.dosomething();
//    线程3
   thread3.start();
   thread3.dosomething();

}
各位大神,怎么做才能保持线程1,2,3按照顺序执行,而不是线程1执行后,还没执行结束就运行线程2或3了呢?


Since 发表于 2020-5-9 08:40:46

顺序执行,那还要线程干嘛?线程不就是互不干扰的任务嘛?是不是理解上有偏差 ~

lwei2 发表于 2020-5-9 08:46:43

Since 发表于 2020-5-9 08:40
顺序执行,那还要线程干嘛?线程不就是互不干扰的任务嘛?是不是理解上有偏差 ~ ...

如果不顺序,就无法得到想要的结果。这和理解没有偏差

nxc2018 发表于 2020-5-13 13:33:55

可以使用QMutex与QWaitCondition

lwei2 发表于 2020-5-13 19:07:34

nxc2018 发表于 2020-5-13 13:33
可以使用QMutex与QWaitCondition

哦哦,谢谢,已用,可能是我不够理解这个QWaitCondition吧
页: [1]
查看完整版本: Qt 循环运行线程