【发布时间】:2015-09-14 16:17:17
【问题描述】:
有没有办法在Java中同步两个进程之间的文件读写?
我找到FileLock,这样我可以在写入时锁定文件,但我需要一个进程轮询读取,这效率不高。我想模拟信号量,以提高效率:
class Process<E> {
private E e;
private final Semaphore read = new Semaphore(0);
private final Semaphore write = new Semaphore(1);
public final void write(final E e) {
write.acquire();
this.e = e;
read.release();
}
public final E read() {
read.acquire();
E e = this.e;
write.release();
return e;
}
}
有没有办法用 Filelock 或其他类来做?
提前致谢。
【问题讨论】:
标签: java synchronization