找回密码
 立即注册
收起左侧

Qt 循环运行线程

4
回复
3798
查看
[复制链接]
累计签到:75 天
连续签到:1 天
来源: 2020-5-8 09:36:50 显示全部楼层 |阅读模式
10Qter豆
请问,我再主线程的一个槽函数中循环开启一个线程,但是它只执行最后一次线程,是怎么才能让它循环执行该线程结束后再开启新的一样的线程呢?
例如:
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了呢?


回复

使用道具 举报

累计签到:742 天
连续签到:1 天
2020-5-9 08:40:46 显示全部楼层
顺序执行,那还要线程干嘛?线程不就是互不干扰的任务嘛?是不是理解上有偏差 ~
回复

使用道具 举报

累计签到:75 天
连续签到:1 天
2020-5-9 08:46:43 显示全部楼层
Since 发表于 2020-5-9 08:40
顺序执行,那还要线程干嘛?线程不就是互不干扰的任务嘛?是不是理解上有偏差 ~ ...

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

使用道具 举报

累计签到:182 天
连续签到:1 天
2020-5-13 13:33:55 显示全部楼层
可以使用QMutex与QWaitCondition
回复

使用道具 举报

累计签到:75 天
连续签到:1 天
2020-5-13 19:07:34 显示全部楼层
nxc2018 发表于 2020-5-13 13:33
可以使用QMutex与QWaitCondition

哦哦,谢谢,已用,可能是我不够理解这个QWaitCondition吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了