anu*_*sth 9 java multithreading midp java-me
我有一个帖子:
Thread t = new Thread(){
public void run(){
ServerSocketConnection scn = (ServerSocketConnection)
Connector.open("socket://:1234");
// Wait for a connection.
SocketConnection sc = (SocketConnection) scn.acceptAndOpen();
//do other operation
}
};
t.start();
Run Code Online (Sandbox Code Playgroud)
让我们说没有客户端连接到服务器,所以这个线程将被阻止.现在我想杀死上面的线程t?我怎么能杀了它?
Thread.interrupt()会不会中断受阻的插座上的线程.您可以尝试调用Thread.stop()或Thread.destroy(),但这些方法已被弃用(编辑:实际上,在J2ME中不存在),在某些情况下不起作用,原因可以在这里阅读.正如那篇文章所提到的,在你的情况下,最好的解决方案是关闭你阻塞的套接字:
在某些情况下,您可以使用特定于应用程序的技巧.例如,如果线程正在等待已知套接字,则可以关闭套接字以使线程立即返回.不幸的是,确实没有任何技术可以发挥作用.应该注意的是,在等待线程没有响应Thread.interrupt的所有情况下,它也不会响应Thread.stop.此类情况包括故意拒绝服务攻击,以及thread.stop和thread.interrupt无法正常工作的I/O操作.
| 归档时间: |
|
| 查看次数: |
13739 次 |
| 最近记录: |