java - java中的进程同步

标签 java process synchronization filelock java.nio.file

进程 A 在执行时写入文件 XYZ。有进程 B 和 C,它们在执行时读取文件 XYZ。因此,当进程 A 启动时,B 和 C 应该等待 A 完成。要提供同步,我可以使用 java.nio 包吗?或者我应该使用 FileLock 或套接字之类的东西?我们可以提到等待第二个进程等待的时间吗?

已编辑:文件是在第一次写入过程中创建的。在这种情况下,我可以将其设为共享资源吗?

最佳答案

我希望使用 java.nio 包的文件锁可能是更好的解决方案。但是,我认为 java.nio 直到 JDK 1.6 才成熟。 http://www.withoutbook.com/DifferenceBetweenSubjects.php?subId1=7&subId2=43&d=Java%206%20vs%20Java%207

文件锁: http://docs.oracle.com/javase/7/docs/api/java/nio/channels/FileLock.html

关于java - java中的进程同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24953321/

相关文章:

Java(垂直)调整随机间隙的大小

java - Hibernate 数据检索改进。

java - 在java中,如何让单个线程等待进程完成?

c++ - 关于C++ ofstream同步

文件同步时Java网络错误

java - System.out.println 的未知输出

java - 使用未绑定(bind) ID 通过 SSL 绑定(bind)到 Active Directory

c - 当我在 Unix 中调用 fork() 时会发生什么?

linux - Golang、进程和共享内存

sql-server-2008 - 从主数据库更新从属 SQL Server 2008 数据库同时最小化中断的模式