在ObjectInputStream.readObject()上设置超时是否安全?

Cas*_*law 3 java timeout

我有一个ObjectInputStream连接到一个ObjectOutputStream通过套接字,我一直在使用Socket.setSoTimeout(),使ObjectInputStream.readObject()只有块100毫秒.自从我开始这样做以来,我StreamCorruptedError在打电话的过程中得到了很多readObject().超时可能是罪魁祸首吗?

maa*_*nus 5

我有一个线程不断通过此函数获取新数据但我希望能够通过将布尔值设置为false来停止它.线程必须保持轮询布尔值,如果它被readObject()阻止则不能

您可以使用Thread.interrupt让它抛出一个InterruptedException,或者在这种情况下抛出一个InterruptedIOException.确保你不要吞下异常!