关于线程嵌套挂起的疑问
我在程序内使用了两个线程,一个用于处理接收Socket信息,一个用于发送Socket信息。我同时使用了错误处理机制,也就是当检测到Socket有错误时,我会将线程挂起。然后有一个定时器来检测Socket是否连接正常,如果不正常的话,在等待相应的时间后会重新连接Socket。
现在的问题是,在两次连接的间隔时间内,检测定时器会运行多次,也就有可能执行多次挂起操作,问题产生了,当我将Socket连接好后,我只有一次Resume,导致了线程未能完全Resume。查Delphi帮助才明白,Calls to Suspend can be nested,也就是说此挂起可以嵌套!!
虽然问题已经解决,但我还是不明白,为什么允许嵌套?有什么特别的意思吗?
因为一但挂起,线程就已经不能运行了.