在程序一个方法里,启动一个线程,让它去干一些事,这个线程可能会干很久,甚至停止响应,那么这个方法应该有个超时机制,如果等到超时,就继续向下走.但是我不知道,这时该如何处理那个超时了的线程呢? 因为它不一定就是死了,可能只是阻塞在那里而已.是杀死它呢?还是该怎么办?哪个大哥有相关经验的?

解决方案 »

  1.   

    最好不要terminate,对线程最好是通知她退出!
      

  2.   

    楼上说的是真的吗?程序阻塞这么严重啊?我都没有想过这个问题 我一直以为我发ShutdownEvent我的Thread就一定会退出的呢:D
      

  3.   

    开玩笑.你的ShutdownEvent是什么东西?
      

  4.   

    DWORD dw = WaitForSingleObject(m_hAcceptMsgEvent, 时间);
    if (dw == WAIT_OBJECT_0)
    {}
    else if (dw == WAIT_TIMEOUT)
    {}