最近在写一个套接字网络程序,采用多线程,在主函数里面用CreateThread创建了一个线程,本想在子线程内部用一个死循环while(TRUE)不断地调用Recv函数接收数据,但是程序会退出。预期得结果是程序一直处于子线程中不停地接收数据,因此主程序不会终止,但不知什么原因程序会退出。我写得是Win32程序,运行之后就出现Press any key to continue,哪位大侠指点一下。

解决方案 »

  1.   

    主线程结束会调用terminateprocess,当然就都完蛋了...............
    要想继续运行的话,可以在主线程中调用exitthread或者terminatethread强制关闭自己..............
      

  2.   

    之前我也做过这样的项目。。
    给个好的思路给你。。
    你可以在子线程里面去调用Select结构,是可读的话,再在去做相应的处理最后可以让子线程返回给主线程。。
      

  3.   

    主线程WaitForSingleObject
    我的qq群19206896
      

  4.   

    主线程的最后加上一句:SuspendThread(GetCurrentThread());