无论是否已成功地获得请求区域上的锁定,调用总是立即返回。如果由于另一个程序保持着一个重叠锁定而无法获取锁定,则此方法返回 null。
OverlappingFileLockException - 如果此 Java 虚拟机已经持有与所请求区域重叠的锁定,或者如果另一个线程已阻塞在此方法中并且正在试图锁定同一文件的重叠区域 、
上面两个有啥区别?

解决方案 »

  1.   

    区别貌似是:
    第一个是“由于另一个程序保持着一个重叠锁定而无法获取锁定”,
    第二个则是“Java 虚拟机已经持有与所请求区域重叠的锁定,或者如果另一个线程已阻塞在此方法中并且正在试图锁定同一文件的重叠区域”
      

  2.   

    区别是
    第一个 文件锁是被操作系统的其它进程获得,这个不在jvm的控制范围下
    第二个 文件锁被一个java线程获得,或其他java线程在等待这个锁。这个是在jvm的控制范围下
      

  3.   

    两个进程同时读文件 tryLock()的时候,有的时候报OverlappingFileLockException异常 有的时候返回null,这是为啥呢