美文网首页
Semaphore用法随笔

Semaphore用法随笔

作者: noexceptionsir | 来源:发表于2017-11-29 23:29 被阅读0次
  • Semaphore用于限制线程并发的数量

  • Semaphore中的acquire()方法意思是使用一个许可,是一个减法操作。
  • Semaphore中的release()方法意思是增加一个许可,增加同时间允许通过的线程数,Semaphore允许通过的线程数是可以改变的。
  • Semaphore的availablePermits()返回当前允许通过的线程数。
  • semaphore.acquireUninterruptibly();在等待release()的时候不允许被中断。如果使用这段代码,在当前代码到执行release()方法之间,不允许中断。
  • semaphore.drainPermits()清空当前允许通过的线程数,并且返回当前允许的数目。
  • semaphore.hasQueuedThreads()是否还有线程在等待。
  • semaphore.getQueueLength()获取还在等待的线程数。
  • tryAcquire()尝试获取许可。
    tryAcquire(3)尝试获取3个许可。
    tryAcquire(3, TimeUnit.SECONDS)在3内获取1个许可,获取不到返回false。
    tryAcquire(3,3,TimeUnit.SECONDS)在3秒内获取3个许可,获取不到返回false。
  • Semaphore(1,true)构造函数如果是true为公平锁获取,如果是flase则为非公平锁。

下面是Semaphore练习代码

链接:链接:https://pan.baidu.com/s/1jIJ3oNk 密码:myli

Semaphore练习

相关文章

  • Semaphore用法随笔

    Semaphore用于限制线程并发的数量 Semaphore中的acquire()方法意思是使用一个许可,是一个减...

  • Semaphore 原理简介和使用

    Semaphore实现共享锁 简介 DEMO了解其用法 Semaphore实现互斥锁 简介 DEMO了解其用法 S...

  • Java并发目录

    一、简述 线程状态与方法 synchronized 用法 ReentrantLock用法 Semaphore用法 ...

  • Semaphore用法

    共享锁,支持公平锁,可以指定锁的数量。 结果如下

  • 多线程的记录

    链接:NSOperation的基本用法 NSOperation iOS dispatch_semaphore信号量...

  • dispatch_semaphore 用法

    dispatch_semaphore只有三个方法: 执行dispatch_semaphore_create 会根据...

  • Java Semaphore的用法

    Semaphore(信号量)

  • semaphore的几种用法

    1. 线程同步(加锁) 使用 dispatch_semaphore_create(1) 创建一个最大量为 1 的信...

  • iOS 锁 部分三

    主要讲解锁@synchronized/dispatch_semaphore_t的基本用法 文中使用的 objc4源...

  • GCD的一些使用

    本片文字意在记录gcd的一些用法 1. dispatch_semaphore 相关方法:dispatch_sema...

网友评论

      本文标题:Semaphore用法随笔

      本文链接:https://www.haomeiwen.com/subject/kckmbxtx.html