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