我对以下代码有几个问题:
final Runnable accept = new Runnable() {
public void run() {
while (connect == true) {
try {
sock = servsock.accept();
}
catch (Exception e) {
System.out.println(e);
}
}
}
};
new Thread(accept).start(); //creates new instance every time i want to run accept()
看,每次我想运行“accept”时,我都会创建一个新的线程实例并启动它。有人可以告诉我如何停止其中一个线程吗?比如,我如何识别线程?我应该使用线程数组吗?
最佳答案
在 ServerSocket 上接受套接字的最佳方法是在 1 个线程中运行接受循环,然后将新生成/接受的套接字传递给另一个线程。
如何停止你的线程?最简单、最好的方法是关闭它们正在监听的套接字。
关于java - 控制线程的不同实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25668345/