首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

请问一个关于阻塞线程的终止有关问题

2013-09-21 
请教一个关于阻塞线程的终止问题线程中,while(true)循环中,accept或者recieve监听,当外部网络断开后,有没

请教一个关于阻塞线程的终止问题
线程中,while(true)循环中,accept或者recieve监听,当外部网络断开后,有没有办法终止这个线程?
我打算在Service中判断,满足条件后,就重启这个Service自己,因为Service中启动的线程,所以Service停止的时候,线程也终止了。大家有没有更好的办法终止这个阻塞线程?因为如果不终止的话,下次连接上网络后启动线程,可能会端口被占用。内存也因为线程没有退出来,而越用越多。
[解决办法]
断网时做标记,然后在线程里面对标记做判断断网时就return;
[解决办法]
你启动多线程时,thread应该要保存起来,然后收到断网通知后,把这些thread都interrupt(),interrupt只是解除socket的阻塞,并不是终止,因此你会捕获一个interruptException,并在其中,做一些额外的处理,然后socket.close或者关闭当前线程。
[解决办法]
设置标记  在循环里面读取标记
另外  你结束Service是结束不了线程的  除非你结束整个进程

热点排行