Java 可以同时从对象文件中写入和读取吗?
假设我有一个Java 可以同时从对象文件中写入和读取吗?,java,multithreading,synchronization,Java,Multithreading,Synchronization,假设我有一个ArrayList并使用ObjectOutputStream的方法writeObject()将其存储在一个文件中。对我来说,只允许一个线程写入文件,多个线程同时读取同一个文件,这样可以吗?或者,如果有一条线在写,我应该根本没有阅读吗?我不知道幕后发生了什么,所以我不知道该如何处理。不,除非你采取一些谨慎的处理措施,否则这是不好的!不可以。并发读取对象是不安全的,更不用说并发读取和写入对象了,操作系统甚至可能不允许您执行后者。你为什么认为你需要这样做?为什么?在引擎盖下发生了什么使它成
ArrayList
并使用ObjectOutputStream
的方法writeObject()
将其存储在一个文件中。对我来说,只允许一个线程写入文件,多个线程同时读取同一个文件,这样可以吗?或者,如果有一条线在写,我应该根本没有阅读吗?我不知道幕后发生了什么,所以我不知道该如何处理。不,除非你采取一些谨慎的处理措施,否则这是不好的!不可以。并发读取对象是不安全的,更不用说并发读取和写入对象了,操作系统甚至可能不允许您执行后者。你为什么认为你需要这样做?为什么?在引擎盖下发生了什么使它成为一件坏事?如果许多线程正在写和读,你应该进行同步化,否则写可能会被中断,而乱七八糟的会被写,当读线程可能正在读一些没有完全写的东西时,你还没有回答我的问题。应用程序中发生了什么使其成为必需的事情?序列化强烈地意味着顺序化。对象流是流,而不是随机访问文件。