java - 控制线程的不同实例

标签 java multithreading anonymous

我对以下代码有几个问题:

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/

相关文章:

java - Hibernate 生成额外的表

java - JMS pub sub 多个监听器,在分布式应用程序中对同一主题具有相同的订阅 ID

c - OpenMP 始终在同一线程上工作

c# - 没有显式键的匿名类型语法 (`new { identifier }` )?

python - 如何防止 lambda 函数局部变量在 python 中更改?

java - 使用接受文件的 Spring Controller 防止内存不足错误

java - FlyWay 版本

multithreading - 实现 QThread 的正确方法是什么...(请举例...)

c# - ThreadWaitReason - 线程正在等待虚拟内存页到达内存

c++ - 如何使用嵌套在没有名称的结构中的c union