[英]Java synchronize an external file
無論如何,在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 管道 ? 像PipedInputStream和PipedOutputStream需要使用不同的線程來有效地交換數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.