Java 如何防止多个进程同时访问同一个序列化文件?

Java 如何防止多个进程同时访问同一个序列化文件?,java,serialization,locking,multiple-processes,Java,Serialization,Locking,Multiple Processes,我有一个类,我序列化了它的对象。此类的状态可能会因进程而更改,并再次序列化并保存在文件中 问题是,当多个进程反序列化同一个文件并更改其状态并再次序列化时,此对象(以及保存序列化对象的文件)的一致性会损坏 有没有像锁定这样的机制,当一个进程从文件中反序列化一个对象时,其他进程不能访问这个文件,也不能反序列化它?可能的重复不是我问题的答案。当您锁定FileInputStream时,它会抛出一个不可写的ChannelException。然后在回答中说,使用RandomAccessFille类进行读写,

我有一个类,我序列化了它的对象。此类的状态可能会因进程而更改,并再次序列化并保存在文件中

问题是,当多个进程反序列化同一个文件并更改其状态并再次序列化时,此对象(以及保存序列化对象的文件)的一致性会损坏


有没有像锁定这样的机制,当一个进程从文件中反序列化一个对象时,其他进程不能访问这个文件,也不能反序列化它?

可能的重复不是我问题的答案。当您锁定FileInputStream时,它会抛出一个不可写的ChannelException。然后在回答中说,使用RandomAccessFille类进行读写,以及如何使用它进行序列化?!!!