2012-08-15 22 views
0

开放的ObjectOutputStream最初发送一个特定的对象,而补充的ObjectInputStream成功地反序列化它。然后将这个OIS传递给一个独立线程类的构造函数,这个线程类需要继续无缝地读取(更新)更多的对象。这部分没有发生。当这个流在这里进行“上下文切换”时,有没有什么东西可以让我知道?非常感谢。ObjectOutput/InputStream的上下文切换

回答

1

在创建ObjectInputStream之前,最重要的事情就是flush() ObjectOutputStream,如果你不这样做,你可能会陷入死锁。

将ObjectInputStream传递给另一个线程不会导致问题,事实上,如果您从不同的线程读取数据而不是写入数据,它会避免此问题。

+0

那么它肯定会移动!非常感谢。 – user1410059 2012-08-15 14:00:58

+0

输出流被缓冲,即使你自己不写任何东西,输入流也会阻塞等待标题。 – 2012-08-15 14:12:07

+1

这很好解释。 – user1410059 2012-08-15 14:46:23