1、不用google、baidu等search
2、不写程序试验

解决方案 »

  1.   

    个人认为:
    如果你不ResumeThread的话,那么这个thread一直挂起在那边(即使它已经过了阻塞时间了)
    因为Each thread has a suspend count ,Calling SuspendThread causes the target thread's suspend count to be incremented。
    所以一个SuspendThread对应一个ResumeThread
      

  2.   

    SuspendThread vs ResumeThread
      

  3.   

    阻塞,通常是由于等待外部消息或事件,比如IO的完成等.
    而如果你把正在阻塞的线程Suspend掉,则当消息或事件得以通知时,将被会被阻塞.直到该线程被再次唤醒之后,才会继续对相应的消息或事件进行处理.如此可能带出来的问题是等待它的消息或事件的线程或事务也将被挂起.以后部分时效性(通常以时间单位衡量)的任务得不到继续,甚至是出现异常.比如IO或事件等待超时等(通常等待消息的可能性比较少,除极特殊情况外,大部分时间里对消息都仅只是检索).
      

  4.   

    另外还有个问题,就是如果在内部有分配相当的资源的话,如果被Suspend的时间比较长,则该部分资源将会被从物理内存转移到磁盘缓冲区当中,从而使得再次被唤醒之后,到进入正常工作状态,需要相当的时间,特别是Low Memory状态下.