中国开发网: 论坛: 程序员情感CBD: 贴子 621561
王中王: 关键看线程B的了。
B线程的行为,如果只是执行慢还好一些,或任何操作都有超时机制也好一些,可以线程定期检查Terminate标志来决定是否退出,问题不大。就怕有失去影响的操作,比如读Socket,读不出数据来,又不返回又不超时,线程就牺牲了。虽然我不确认是否真会有这种情况发生,但只要是使用了一些第三方封装的东西,我都以最坏的打算来假定这种情况存在。这种情况只能由监控线程来强制Terminate。强制Terminate会带来资源泄漏,如果只是磁盘空间或一小点内存倒还好,不至于马上死,如果是如“进了临界区”被Terminiate了,那对整体逻辑就有影响了。这时只能保证“一定有进有出”或避免使用这样的机制。至于普通的资源泄漏,没研究过。不知道会不会有强制中止1000次线程主程序会崩溃这样的事发生。
http://wangzw.wordpress.com/
个性化台历、日历制作
http://shop33697570.taobao.com/

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录