我正在编写一个简单的 HTTP 服务器,其中主线程在 ServerSocket.accept 循环中循环,并将任何传入套接字传递给工作线程,然后工作线程将处理它们并发回响应。但是,我想特殊情况下关闭请求将关闭我的整个服务器。我在使用工作线程强制主线程突破 accept
循环并终止时遇到问题。
有什么指点吗?
最佳答案
您是否尝试过使用 workerThread.interrupt();
中断工作线程?
这应该使 accept
抛出 InterruptedException
,您可以捕获该异常,清理需要清理的内容并退出工作线程。
关于Java:允许工作线程杀死主线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14535243/