Java序列化,ObjectInputStream.readObject(),检查是否会阻塞

标签 java serialization nonblocking

我使用 ObjectInputStream 调用 readObject 来读取序列化的对象。我想避免使用此方法 block ,因此我希望使用类似 Inputstream.available() 的内容。

InputStream.available() 会告诉您有可用字节,并且 read() 不会阻塞。是否有等效的序列化方法可以告诉您是否有可用的 Object 并且 readObject 不会阻塞?

最佳答案

没有。尽管您可以在另一个线程中使用 ObjectInputStream 并检查是否有可用的对象。一般来说,轮询并不是一个好主意,特别是在 InputStream.available 的保证很差的情况下。

关于Java序列化,ObjectInputStream.readObject(),检查是否会阻塞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41147870/

相关文章:

java - 使用 Android Nanohttpd 轻量级服务器进行文件目录导航

java - JVM 可以在应用程序运行时(突然)杀死计时器/守护线程吗?

Java线程同步块(synchronized block)行为-synchronized与synchronized()?

java - 使用自定义 ComboBoxUI

sockets - 在不关闭连接的情况下关闭从 TCP 连接读取的 goroutine

java - 在Java中反序列化C#生成的RabbitMQ消息

serialization - 在 protobuf-net 中,有没有办法指定在序列化/反序列化给定类型时要使用的自定义方法?

java - 在 Java 中加载已编译的类并从文件反序列化它的实例

python - 在 python 中创建非阻塞套接字

node.js - 如何在 Node.js 中无限读取行