Java:允许工作线程杀死主线程

标签 java multithreading concurrency

我正在编写一个简单的 HTTP 服务器,其中主线程在 ServerSocket.accept 循环中循环,并将任何传入套接字传递给工作线程,然后工作线程将处理它们并发回响应。但是,我想特殊情况下关闭请求将关闭我的整个服务器。我在使用工作线程强制主线程突破 accept 循环并终止时遇到问题。

有什么指点吗?

最佳答案

您是否尝试过使用 workerThread.interrupt(); 中断工作线程?

这应该使 accept 抛出 InterruptedException,您可以捕获该异常,清理需要清理的内容并退出工作线程。

关于Java:允许工作线程杀死主线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14535243/

相关文章:

c# - 如何跨多台机器(如渲染农场)运行 C# Task Parallel Library?

java - JVM 在不牺牲性能的情况下可以同时持有的锁数量

java - 有没有办法像在 ExecutorCompletionService 中那样在 spring 中轮询一组 Future 对象?

Java:无法让等待/通知正常工作 - 并发问题

java - 将 Toast 定位在屏幕上单击的任何位置

java - 通信链路故障 JDBC Java

java - 如何在没有 web.xml 的情况下实现 jaxrs 应用程序

java - 如何在Java中获取类的TypeTag

java - 用于获取和设置的线程安全数据结构

C# 线程在第二个线程上崩溃,不确定如何修复