流程1——>流程2——>流程3——>流程4——>流程5 要求:1)每个流程处理的数据量挺大的,预估每隔流程大概得花费几分钟时间,初步打算为每个流程开辟一个线程,根据运行情况,并在界面上显示每个流程运行的进度条。2)用户可以选择全部流程或者其中的几个流程运行,但只能上一个流程运行结束后,才能开始下一个流程。3)界面有暂停和终止按钮,点击终止,正在运行的流程停止运行。 问题:看了好多帖子,终止线程大都用的循环检测,但不适用于该程序,因为每隔流程只运行一遍。不知道该怎么设计线程来实现终止的功能,哪位大侠给点意见a?
每个流程花费几分钟是个神马情况,是有比如recv这种阻塞的函数,还是有很复杂的计算堆积出来,如果是后者是否可以在每个流程里多检测几次
每个流程里都是对数据的运算,比方矩阵等的数学计算,暴力不行,关了再开,cpu立马100%。
CEvent或CMutexWaitForSingleObject来控制
http://www.vcproj.net/multi-threaded-locate-the-file/
看看这个例子吧,楼主
侯先生强调不要使用while循环去循环检测
用同步控制吧。骚年。