我想把一个函数放到一个线程里执行,等到线程完毕后再继续主程序,
该怎么做?

解决方案 »

  1.   

    可设立一个监视事件,然后调用WaitForSingleObject(handle,INFINITE)
      

  2.   

    主程序中:HANDLE handle = CreateThread(...);
    WaitForSingleObject(handle, INFINITE);    // 等线程执行完了这句代码就会执行了。
      

  3.   


    是不是thread 中执行完了就 ,会继续WaitForSingleObject(handle, INFINITE); 后面的代码?
    如果没有执行完就一直在这等?
      

  4.   

    只要加这个就行了吗?
    WaitForSingleObject(handle, INFINITE); 
    在Thread 中还需要不需要加什么别的标志??
      

  5.   

    不用加标志了
    HANDLE handle = CreateThread(...);
    WaitForSingleObject(handle, INFINITE); 
    这里的线程名柄handle是一个内核对象,当相关线程结束之后,这个对象才有信号,此时WaitForSingleObject才会停止等待,继续下去。