关于MFC多线程控制多个软件执行顺序怎么实现

DB伟 2018-09-13 10:09:02
刚进入编程不久,对一些有效的方法不太知道,在这里看看有没有比较好的方法。我的任务是使用MFC控制三个别人写好的软件按一定的顺序进行测试,三个软件使用顺序随机,在我写的软件需要每次打开同一个软件16个,然后开始后会在我的界面上监测软件的测试数据(要开16个线程进行监测)。进行使用如:A:测试磁盘速度的软件,B:测试磁盘好坏的软件 C:测试磁盘数据是否丢失的软件,规则:在A进行测试速度的时候其他两个软件要等待A全部测试(16个)完毕才能开始。其他两个B,C不需要等待,只要16个中某一个B执行完则执行C,或者C执行完就执行B。目前我使用的方法就是在主线程循环开启16个,然后将线程的句柄放入队列deque中,然后在线程中某一个结束,就用SengMessage发送对应的16个中哪一个结束后给主线程窗口开启下一个。在我需要中途结束测试时就是通过使用队列中的线程句柄来关闭线程打开的软件后结束。但是感觉这方法不太灵活,想看看各位大佬根据经验怎么设计,谢谢!下图是软件数据显示图:
...全文
362 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
shen_wei 2018-09-20
  • 打赏
  • 举报
回复
一个线程UI,

另个十六个线程分别分析 单个线程控制 A,B,C的状态,分别判断各个软件的运行状态,顺序执行即可。。
DB伟 2018-09-14
  • 打赏
  • 举报
回复
引用 6 楼 simoreg 的回复:
好像有点复杂
2个线程不行吗
一个线程UI
另一个逐一轮询你打开的软件
第二个线程根本不牵涉到多线程,逻辑也好写啊
甚至1个线程,UI或许会卡点,不行吗?


主要有时候会使用单个点击开始,有时候是全部一键开始
simoreg 2018-09-13
  • 打赏
  • 举报
回复
好像有点复杂
2个线程不行吗
一个线程UI
另一个逐一轮询你打开的软件
第二个线程根本不牵涉到多线程,逻辑也好写啊
甚至1个线程,UI或许会卡点,不行吗?
simoreg 2018-09-13
  • 打赏
  • 举报
回复
好像有点复杂
DB伟 2018-09-13
  • 打赏
  • 举报
回复

引用 1 楼 zgl7903 的回复:
后台线程 + 状态机模型


能详细点吗?

zgl7903 2018-09-13
  • 打赏
  • 举报
回复
后台线程 + 状态机模型
赵4老师 2018-09-13
  • 打赏
  • 举报
回复
《Windows核心编程》
sichuanwww 2018-09-13
  • 打赏
  • 举报
回复
多线程+线程通行

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧