码迷,mamicode.com
首页 > 编程语言 > 详细

java核心学习(十九) javaNIO框架---文件锁

时间:2017-09-18 15:05:17      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:java虚拟机   使用   学习   nio   框架   共享   强制   false   注意   

  

  在上一节提到的FileChannel中提供了lock()/tryLock()方法可以获得文件锁FileLock对象,从而锁定文件,这里的文件锁是进程级别的锁,而非线程锁。

  lock()方法是阻塞试的,当调用该方法且无法得到文件锁,程序将一直阻塞。

  tryLock()方法是非阻塞式的加锁方法,如果获得了文件锁,则该方法返回该文件锁,否则将返回null。

  文件锁分为共享锁和排他锁,当lock/tryLock方法的第三个参数为true时表明该锁是共享锁,共享锁允许多个进城来读取该文件,但阻止其他进程获得对该文件的排他锁,默认情况下该参数为false,即为排他锁。

  注意:1、文件锁是java虚拟机持有的,如果两个java程序使用同一个java虚拟机运行,则按们不能对同一个文件进行加锁

     2、某些平台上文件锁不是强制性的,所以并不起作用。。

     

java核心学习(十九) javaNIO框架---文件锁

标签:java虚拟机   使用   学习   nio   框架   共享   强制   false   注意   

原文地址:http://www.cnblogs.com/Theshy/p/7542673.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!