-1
我正在研究Java中需要读/写锁定的程序。该场景是多个进程可以同时写入文件。我已经使用以下行来锁定文件。在Java中使用FileLock调用读/写锁定
FileOutputStream fos = new FileOutputStream(file);
FileLock lock = fos.getChannel().lock;
当多个进程试图同时写入文件时,这工作正常。其他进程正在等待锁定释放。但是,其他进程仍然能够读取此文件,并且当他们打开InputStreamReader来读取此文件时,写入该文件的初始进程停止并且读取进程开始。我希望读取过程也是同步的。
有人可以帮助我这个。 (这将运行多个进程,并且还线程)
看一看[documentation](https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html#lock--)就会发现'lock( )'获得排他锁。 – VGR