I/O:FileLock

Posted junjie2019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了I/O:FileLock相关的知识,希望对你有一定的参考价值。

FileLock:

/*
    文件锁定要么是独占的,要么是共享的。共享锁定可阻止其他并发运行的程序获取重叠的
独占锁定,但是允许该程序获取重叠的共享锁定。独占锁定则阻止其他程序获取任一类型的重叠锁
定。一旦释放某个锁定后,它就不会再对其他程序所获取的锁定产生任何影响。

    文件锁定对象记录了在其文件上保持锁定的文件通道、该锁定的类型和有效性,以及锁定
区域的位置和大小。只有锁定的有效性是随时间而更改的;锁定状态的所有其他方面都是不可变的。

    
*/


FileChannel channel()  :返回文件通道,此锁定保持在该通道的文件上。
abstract void release():释放此锁定。


boolean    isShared()                         :判断此锁定是否为共享的。
abstract boolean isValid()                    :判断此锁定是否有效。
boolean    overlaps(long position, long size) :判断此锁定是否与给定的锁定区域重叠。


long position() :返回文件内锁定区域中第一个字节的位置。
long size()     :返回锁定区域的大小,以字节为单位。

 

以上是关于I/O:FileLock的主要内容,如果未能解决你的问题,请参考以下文章

尝试使用 FileLock、Python 写入文件时权限被拒绝

Java NIO FileLock 允许其他进程写入锁定的文件

Day388.Selector&Pipe&fileLock文件锁&Path&Files&AsynchronousFileChannel异步通道 -NIO(代码片

NIO--FileLock,Path,Files,AsynchronousFileChannel,Charset

Java使用FileLock实现Java进程互斥锁

为啥 H2 DB FileLock.sleep() 需要这么长时间?