我正在编写一个简单的Swing GUI,其中包括一个文本框,用于打印调试消息和异常。目前,我已经将其设置为写入到PipedOutputStream,然后有一个守护线程从连接的PipedInputStream中读取并写入到文本区域。
当我尝试弄清如何在我的守护线程中关闭流时,我发现另一个答案称守护线程不应该持有任何资源。管道流算吗?它们需要被关闭吗?
我正在编写一个简单的Swing GUI,其中包括一个文本框,用于打印调试消息和异常。目前,我已经将其设置为写入到PipedOutputStream,然后有一个守护线程从连接的PipedInputStream中读取并写入到文本区域。
当我尝试弄清如何在我的守护线程中关闭流时,我发现另一个答案称守护线程不应该持有任何资源。管道流算吗?它们需要被关闭吗?
PipedInputStream
/ PipedOutputStream
不持有任何操作系统资源。因此,任何建议说守护线程不应该持有资源都不适用于此处。(但请见下文!)PipedOutputStream
。根据您的应用程序,相应的PipedInputStream
可能需要关闭管道以完成其工作。