扩展阅读
  • java命名空间java.lang.management类managementfactory的类成员方法: getoperatingsystemmxbean定义及介绍
  • java.util.Date 和 java.slq.Date 如何最简单实现互换?
  • java命名空间java.lang.management接口memorypoolmxbean的类成员方法: isvalid定义及介绍
  • 轻量级Java开发工具 Java Tools
  • java命名空间java.lang.management接口threadmxbean的类成员方法: isthreadcputimesupported定义及介绍
  • 在下初学java,请各位大虾推荐几个java学习网站吧!
  • java命名空间java.lang.management接口memorymanagermxbean的类成员方法: isvalid定义及介绍
  • 各位大虾,为什么我的java程序能通过编译,但是在用java命令运行程序的时候却老是报错“Exception in thread "main" java.lang.NoClassDe
  • java命名空间java.awt.image接口imageobserver的类成员方法: properties定义及介绍
  • 请问:java 入门以及学好Java要看哪些书籍阿????
  • java命名空间java.sql类types的类成员方法: other定义及介绍
  • Java源码工具 java2html
  • java命名空间java.sql接口rowid的类成员方法: getbytes定义及介绍
  • java bean和java class的区别??
  • java命名空间java.awt类color的类成员方法: gettransparency定义及介绍
  • 学习JAVA,请推荐好的 JAVA站点!
  • java命名空间java.lang.management类memoryusage的类成员方法: getcommitted定义及介绍
  • 关于Java好的网站,哪个Java好的教程。
  • java命名空间java.text类decimalformat的类成员方法: setparsebigdecimal定义及介绍
  • 如何将java.util.Date转化成java.sql.Date?
  • java命名空间java.awt类toolkit的类成员方法: createcomponent定义及介绍
  • 如何设置java应用程序的风格,如java风格,和windows风格!
  •  
    当前位置:  编程语言>java/jsp

    java命名空间java.nio.channels类filechannel的类成员方法: lock定义及介绍

     
        发布时间:2014-2-17  


        本文导语:  lock public abstract filelock lock(long position, long size, boolean shared) throws ioexception 获取此通道的文件给定区域上的锁定。 在可以锁定该区域、已关闭此通道或者已中断...

    lock

    public abstract filelock lock(long position,
                                  long size,
                                  boolean shared)
                           throws ioexception
    获取此通道的文件给定区域上的锁定。

    在可以锁定该区域、已关闭此通道或者已中断调用线程(以先到者为准)之前,将阻塞方法的调用。

    如果在此方法调用期间另一个线程关闭了此通道,则抛出 asynchronouscloseexception

    如果在等待获取锁定的同时中断了调用线程,则将状态设置为中断并抛出 filelockinterruptionexception。如果调用此方法时已设置调用方的中断状态,则立即抛出该异常;不更改该线程的中断状态。

    positionsize 参数所指定的区域无需包含在实际的底层文件中,甚至无需与文件重叠。锁定区域的大小是固定的;如果某个已锁定区域最初包含整个文件,并且文件因扩大而超出了该区域,则该锁定不覆盖此文件的新部分。如果期望文件大小扩大并且要求锁定整个文件,则应该锁定从零开始,到不小于期望最大文件大小的区域。零参数的 lock() 方法只是锁定大小为 long.max_value 的区域。

    某些操作系统不支持共享锁定,在这种情况下,自动将对共享锁定的请求转换为对独占锁定的请求。可通过调用所得锁定对象isshared 方法来测试新获取的锁定是共享的还是独占的。

    文件锁定是以整个 java 虚拟机来保持的。但它们不适用于控制同一虚拟机内多个线程对文件的访问

    参数:
    position - 锁定区域开始的位置;必须为非负数
    size - 锁定区域的大小;必须为非负数,并且 position + size 的和必须为非负数
    shared - 要请求共享锁定,则为 true,在这种情况下此通道必须允许进行读取(可能是写入)操作;要请求独占锁定,则为 false,在这种情况下此通道必须允许进行写入(可能是读取)操作
    返回:
    一个锁定对象,表示新获取的锁定
    抛出:
    illegalargumentexception - 如果关于参数的前提不成立
    closedchannelexception - 如果此通道已关闭
    asynchronouscloseexception - 如果调用线程阻塞于此方法中时另一个线程关闭了此通道
    filelockinterruptionexception - 如果调用线程阻塞于此方法中时被中断
    overlappingfilelockexception - 如果此 java 虚拟机已经持有与所请求区域重叠的锁定,或者如果另一个线程已阻塞于此方法中并且正在试图锁定一个重叠区域
    nonreadablechannelexception - 如果 sharedtrue,但此通道不允许进行读取操作
    nonwritablechannelexception - 如果 sharedfalse,但此通道不允许进行写入操作
    ioexception - 如果发生其他 i/o 错误
    另请参见:
    lock(), trylock(), trylock(long,long,boolean)
    相关文章推荐:
  • java命名空间java.text接口attributedcharacteriterator的类成员方法: getattribute定义及介绍
  • java文件重命名(文件批量重命名)实例程序代码分享
  • java命名空间java.beans接口propertyeditor的类成员方法: getvalue定义及介绍
  • java 命名空间 命名规则第1/2页
  • java命名空间java.awt类container的类成员方法: getlayout定义及介绍
  • Linux 下 java 的File类的renameTo()方法 不能重命名文件
  • java命名空间java.beans类defaultpersistencedelegate的类成员方法: defaultpersistencedelegate定义及介绍
  • Java命名规则详细总结
  • java命名空间java.text类decimalformat的类成员方法: topattern定义及介绍
  • Java Web项目前端规范(采用命名空间使js深度解耦合)
  • java命名空间java.sql类types的类成员方法: null定义及介绍
  • java的命名规则默认是不是匈牙利命名法?
  • java命名空间java.awt类awtevent的类成员方法: id定义及介绍
  • java开发命名规范总结
  • java命名空间java.text类choiceformat的类成员方法: choiceformat定义及介绍
  • Java实现文件批量重命名具体实例
  • java命名空间java.sql类driverpropertyinfo的类成员方法: value定义及介绍
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: isrepresentationclassinputstream定义及介绍
  • java命名空间java.text类decimalformat的类成员方法: tolocalizedpattern定义及介绍
  • java命名空间java.sql类types的类成员方法: binary定义及介绍
  • java命名空间java.sql类types的类成员方法: float定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3