当前位置: 代码迷 >> Android >> 怎么结束service中的阻塞线程
  详细解决方案

怎么结束service中的阻塞线程

热度:88   发布时间:2016-05-01 18:10:05.0
如何结束service中的阻塞线程?
我想实现两个手机在wifi下的联机,这就需要一方扮演服务器角色,监听一个固定端口。
Java code
                ServerSocket server = new ServerSocket(5678);                while (true) {                    Socket s = server.accept ();}


我将以上代码放到一个service中新开的一个线程中执行。

现在,当我的程序退出时,我想终止该service并让线程退出,但当我在onDestroy中执行thread.stop的时候,总是会提示一个错误,"Deprecated Thread methods are not supported"。

由于我的线程是阻塞的,所以不能用设置变量的方法来让线程自己退出。

请问如何正确终止该线程?如果不中止的话,下次程序启动的时候,会提示5678端口被占用。

------解决方案--------------------
找个线程执行server.close();
accept会抛异常退出来
  相关解决方案