h264编码程序中//线程回调函数while(1)读取数据;不明白还使用WaitForSingleObject函数来等待线程结束干嘛???我去掉这段代码还写入数据有问题//都死循环了,怎么还需要等待呢????
线程程序调试起来;怎么从创建线程函数 跳到线程回调函数里;又跳回到创建线程函数里呀??????

解决方案 »

  1.   

    因为线程是基本调度单元,cpu分配时间片给各线程使线程可以并行执行
      

  2.   

    不明白还使用WaitForSingleObject函数来等待线程结束干嘛???
    -------------------------------------------------
    一般的,在主线程结束进程退出之前,安全的让所有子线程先退出。
      

  3.   

    来回切换多线程不就是这样么。
    等待是等待线程退出,让整个程序正常退出,如果不等待有时候处理不好会有问题,比如主线程new个指针传入到子线程里,退出的时候主线程把这个指针delete了,但子线程并不知道,继续使用的话程序就会当掉
      

  4.   

    WaitForSingleObject 可以用来接收退出通知,或者buffer里有帧数据了可以读的通知, 你也完全可以不用它,只要能保证程序可以合理正常的运行就行。多线程调试起来就是这样的,这个线程走几步,那个线程走几步。