将BufferedWriter.write推迟到另一个线程

Dan*_*ani 3 java multithreading file bufferedwriter

我有一个事件处理方案,最终也应该写入文件; 在刷新文件时,即等待BufferedWriter.write(String)结束时,我无法延迟事件.

我正在寻找实现这一目标的最简单方法(是否有图书馆这样做?我认为我不是唯一一个遇到此问题的人)

Mar*_*ark 5

您可以使用单线程执行程序为每个事件执行文件写入.

ExecutorService executor = Executors.newSingleThreadExecutor();

// for each event
executor.submit(new Runnable() {
  public void run()
  {
     // write to the file here
  }
});
Run Code Online (Sandbox Code Playgroud)

只有一个线程,执行者会处理排队.