簡體   English   中英

Java同步外部文件

[英]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 管道 PipedInputStreamPipedOutputStream需要使用不同的線程來有效地交換數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM