读书人

怎么结束service中的阻塞线程

发布时间: 2012-07-20 10:38:30 作者: rapoo

如何结束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会抛异常退出来

读书人网 >Android

热点推荐