FileLock在java中是安全的,跨越同一进程中的多个线程,还是不同进程之间或两者之间?

sha*_*awn 8 java multithreading file-locking

FileLock在java中是安全的,跨越同一进程中的多个线程,还是不同进程之间或两者之间?

javadoc中说:

文件锁代表整个Java虚拟机.它们不适合控制同一虚拟机中多个线程对文件的访问.

文件锁对象可安全地供多个并发线程使用.

我真的没有得到:这是否意味着FileLock在同一个进程中的多个线程之间,多个不同进程之间或两者之间是安全的?

Mar*_*nik 2

它表示,当您将这些对象视为普通 Java 对象时,它们是线程安全的,但它们不会阻止其他线程打开同一文件。也就是说,当你查看他们提供的服务时,他们并不安全。