关于关闭线程的一些讨论
就本人知识而言,对线程的关闭一直都不是很顺利
1、通过状态位,程序不正常时,这个很不好使
2、线程阻塞,通过interrupted让线程抛异常
3、I/O阻塞,如果是自己写的相关程序可以通过Socket.close()等方法退出阻塞,但如果是别人封装好的应用呢,实在不知道怎么退出阻塞
以上是本人在不同项目中使用并遇到的问题。希望能有大牛能指点迷津,或者大家谈谈各自是怎么解决的。
为方便讨论,我举个例子:
我在一个邮件接收的容器里,开启了10几个线程分别连接不同账号进行邮件接收,经常是运行一段时间后,某些线程就阻塞在那里了,而我没有办法让它退出阻塞,就只能重启容器。