扩展阅读
  • 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类semaphore的类成员方法: tryacquire定义及介绍

     
        发布时间:2014-2-17  


        本文导语:  tryacquire public boolean tryacquire(int permits, long timeout, timeunit unit) throws interruptedexception 如果在给定的等待时间内此信号量有可用的所有许可,并且当前线程未被中断,则从此...

    tryacquire

    public boolean tryacquire(int permits,
                              long timeout,
                              timeunit unit)
                       throws interruptedexception
    如果在给定的等待时间内此信号量有可用的所有许可,并且当前线程未被中断,则从此信号量获取给定数目的许可。

    获取给定数目的许可(如果提供了)并立即返回,其值为 true,将可用的许可数减去给定的量。

    如果没有足够的可用许可,则在发生以下三种情况之一,禁止将当前线程用于线程安排目的并使其处于休眠状态:

    • 其他某些线程调用此信号量的某个释放方法,当前线程是下一个被分配许可的线程,并且可用许可的数目满足此请求;或者
    • 其他某些线程中断当前线程;或者
    • 已超出指定的等待时间。

    如果获取了许可,则返回值true

    如果当前线程:

    • 被此方法将其已中断状态设置为 on ;或者
    • 在等待获取允许的同时被中断。
    则抛出 interruptedexception,并且清除当前线程的已中断状态。任何原本应该分配给此线程的许可将被分配给其他试图获取许可的线程,就好像已通过调用 release() 而使许可可用一样。

    如果超出了指定的等待时间,则返回值为 false。如果该时间小于等于 0,则方法根本不等待。任何原本应该分配给此线程的许可将被分配给其他试图获取许可的线程,就好像已通过调用 release() 而使许可可用一样。

    参数
    permits - 要获取的许可数
    timeout - 等待许可的最多时间
    unit - timeout 参数的时间单位
    返回:
    如果获取了许可,则返回 true;如果获取所有许可前超出了等待时间,则返回 false
    抛出:
    interruptedexception - 如果当前线程是已中断的
    illegalargumentexception - 如果 permits 为负
    相关文章推荐:


    站内导航:


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

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

    浙ICP备11055608号-3