多线程线程中,等待另一线程结束后,调用回调函数的处理流程

简介多个并列的线程T_1,由主程序启动。 主程序     :可以并列多个线程     创建线程类Thread_i,          保存信息,线程的全部信息,  运行时参数  P_run (包括回调函数、函数指针)         启动真正的任务执行线程,返回句柄 H_real      
多个并列的线程T_1,由主程序启动。


主程序

    :可以并列多个线程

    创建线程类Thread_i, 

        保存信息,线程的全部信息,  运行时参数  P_run (包括回调函数、函数指针)

        启动真正的任务执行线程,返回句柄 H_real

        检测进程(循环检测) ,发现上述创建的进程句柄H_real为某种状态,表示结束,进行处理。

            c++等待线程结束后,使用进程中保存的参数 P_run ,进行处理。参数中有回调函数,函数指针传参数 P_run 中的值进去执行。



HANDLE hthread =  ExecuteCMD(str_cmd);//创建事件处理进程

while(WAIT_TIMEOUT == WaitForSingleObject(hthread, 1000)) //等待上面进程完成
{
    if(WAIT_OBJECT_0 == WaitForSingleObject(pThis->m_hStopEvent, 1000)) //等待手动停止事件,线程外 主动干预 改变状态。
    {

            TerminateProcess(hFFmpeg, 0);  //停止需要等待结束的线程,下次循环时就推出了。
            bAutoStop = false;   //标识是自动退的,还是外界干扰退掉的
新加评论 评论标题: