扩展阅读
  • 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.beans接口propertyeditor的类成员方法: getvalue定义及介绍
  • 如何设置java应用程序的风格,如java风格,和windows风格!
  •  
    当前位置:  编程语言>java/jsp

    java命名空间java.util.concurrent.locks类reentrantreadwritelock.writelock的类成员方法: trylock定义及介绍

     
        发布时间:2014-2-17  


        本文导语:  trylock public boolean trylock(long timeout, timeunit unit) throws interruptedexception 如果另一个线程在给定的等待时间内没有保持写入锁,并且当前线程未被中断,则获取写入锁。 如果另一个线程既没有保持读...

    trylock

    public boolean trylock(long timeout,
                           timeunit unit)
                    throws interruptedexception
    如果另一个线程在给定的等待时间内没有保持写入,并且当前线程未被中断,则获取写入锁。

    如果另一个线程既没有保持读取锁也没有保持写入锁,则获取写入锁并立即返回 true 值,并将写入锁保持计数设置为 1。如果为了使用公平的排序策略,已经设置此锁,并且其他线程都在等待写入锁,则不会 获取一个可用的锁。这与 trylock() 方法相反。如果想使用一个允许闯入公平锁的定时 trylock,那么可以将定时形式和不定时形式组合在一起:

    if (lock.trylock() || lock.trylock(timeout, unit) ) { ... }
     

    如果当前线程已经保持此锁,则将保持计数加 1,该方法将返回 true

    如果锁被另一个线程保持,则出于线程调度目的,禁用当前线程,并且在发生以下三种情况之一以前,该线程将一直处于休眠状态:

    • 写入锁由当前线程获得;或者
    • 其他某个线程中断当前线程;或者
    • 已超过指定的等待时间

    如果获取了写入锁,则返回 true 值,并将写入锁保持计数设置为 1。

    如果当前线程:

    • 在进入此方法时已经设置了该线程的中断状态;或者
    • 在获取写入锁的同时被中断。
    则抛出 interruptedexception,并且清除当前线程的已中断状态。

    如果超出了指定的等待时间,则返回值false。如果该时间小于等于 0,则此方法根本不会等待。

    在此实现中,因为此方法是一个显式中断点,所以要优先考虑响应中断,而不是响应锁的普通获取或重入获取,或者报告所用的等待时间。

    指定者:
    接口 lock 中的 trylock
    参数
    timeou - 等待写入锁的时间
    unit - timeout 参数的时间单位
    返回:
    如果锁是自由的并且由当前线程获取,或者当前线程已经保持写入锁,则返回 true;如果在获取该锁之前已经到达等待时间,则返回 false
    抛出:
    interruptedexception - 如果当前线程被中断
    nullpointerexception - 如果时间单位为 null
    相关文章推荐:
  • java命名空间java.util.concurrent类threadpoolexecutor的类成员方法: getthreadfactory定义及介绍
  • Java并发开发包 util.concurrent
  • java命名空间java.util.concurrent类threadpoolexecutor的类成员方法: getrejectedexecutionhandler定义及介绍
  • 深入Synchronized和java.util.concurrent.locks.Lock的区别详解
  • java命名空间java.util.concurrent枚举timeunit的类成员方法: microseconds定义及介绍
  • java命名空间java.util.concurrent枚举timeunit的类成员方法: minutes定义及介绍
  • java命名空间java.util.concurrent枚举timeunit的类成员方法: hours定义及介绍
  • java命名空间java.util.concurrent枚举timeunit的类成员方法: milliseconds定义及介绍
  • java命名空间java.util.concurrent枚举timeunit的类成员方法: nanoseconds定义及介绍
  • java命名空间java.util.concurrent枚举timeunit的类成员方法: seconds定义及介绍
  • java命名空间java.util.concurrent类threadpoolexecutor的类成员方法: getkeepalivetime定义及介绍
  • java命名空间java.util.concurrent类copyonwritearraylist<e>的类成员方法: copyonwritearraylist定义及介绍
  • java命名空间java.util.concurrent类threadpoolexecutor的类成员方法: getpoolsize定义及介绍
  • java命名空间java.util.concurrent类threadpoolexecutor的类成员方法: getactivecount定义及介绍
  • java命名空间java.util.concurrent枚举timeunit的类成员方法: todays定义及介绍
  • java命名空间java.util.concurrent类threadpoolexecutor的类成员方法: getlargestpoolsize定义及介绍
  • java命名空间java.util.concurrent类countdownlatch的类成员方法: getcount定义及介绍
  • java命名空间java.util.concurrent类timeoutexception的类成员方法: timeoutexception定义及介绍
  • java命名空间java.util.concurrent类rejectedexecutionexception的类成员方法: rejectedexecutionexception定义及介绍
  • java命名空间java.util.concurrent类delayqueue<eextendsdelayed>的类成员方法: delayqueue定义及介绍
  • java命名空间java.util.concurrent类cancellationexception的类成员方法: cancellationexception定义及介绍


  • 站内导航:


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

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

    浙ICP备11055608号-3