我在程序中,clientsocket的read事件中读取数据,并开线程进行处理,
现在,我的问题是,如何在程序关闭时,通知每个线程终止呢?
即,每个线程终止后,程序才让它关闭线程是动态生成的

解决方案 »

  1.   

    做一个全局的布尔型变量
    默认为FALSE,当点关闭时,变为TRUE,每个线程都检测这个变量为FALSE时才运行。
    通知主线程用类似的办法,全部为FALSE或TRUE时,允许关闭。头疼中,说话不清楚
      

  2.   

    做一个全局的Int型变量 ^^!
    默认为0,如果clientsocket的read事件中读取数据,并开线程进行处理,就加1,处理完就减一,程序在退出时,判断Int型全局变量,是否为0.....啊you ok??
      

  3.   

    谢谢提醒,
    我还想问个荒唐的问题,在主线程等待各个子线程完成时,停止接收clientsocket的read事件送来的东西,而等到程序重新开始时,再收取呢?这个过程中,clientsocket不关闭连接.
      

  4.   

    让每个线程自动判断全局变量gInt的值,如果gInt的值为1,则继续运行该线程,否则线程结束。在程序的关闭事件中将gInt设为1即可。