美文网首页
(2)Semaphore构造方法permits参数作用

(2)Semaphore构造方法permits参数作用

作者: 码出高效 | 来源:发表于2018-03-29 22:18 被阅读13次

使同一时间内最多只有1个线程可以执行accquire()和release()之间的代码,应为只有1个许可

其实还可以传入>1的许可,代表同一时间内,最多允许x个线程可以执行acquire()和release()之间的代码.

使用代码new Semaphore(2)来实例化该类同一时间内最多允许2个线程执行

创建三个线程类:

创建运行类:

大家可以看到:同一个时间只允许两个线程运行:

另外需要说明下:

对Semaphore类的构造方法传递的参数如果permits值如果大于1,该类并不能保证线程安全,应为还是有可能会出现多个线程共同访问实例变量,导致出现脏数据的情况。

相关文章

  • (2)Semaphore构造方法permits参数作用

    使同一时间内最多只有1个线程可以执行accquire()和release()之间的代码,应为只有1个许可 其实还可...

  • 基于CAS的一些锁(6)- Semaphore

    基本概念 Semaphore 信号标的意思,作用其实就是限流,构造方法中可以传一个参数permits表示允许同时执...

  • scala:构造方法与apply

    scala中分主构造方法、辅助构造方法,辅助构造方法必须调用主构造方法 构造方法参数作用域 如果父类有主构造方法,...

  • PHP构造方法

    1.在一个类里面创建"构造方法" (第一个不带参数的构造方法)(第二个是带参数的构造方法) 2.析构函数作用 -1...

  • 2019-08-15

    构造方法可以没有参数,也可以有多个参数。析构方法的作用和构造方法正好相反,是对象被销毁时被自动调用的,作用是释放内存。

  • 2019-08-05

    构造方法可以没有参数,也可以有多个参数。析构方法的作用和构造方法正好相反,是对象被销毁时被自动调用的,作用是释放内...

  • Swift知识点总结(便利构造函数、析构函数和闭包特点)

    "便利构造函数:自己不创建对象 1、作用:判断参数条件是否合法 2、传递‘常用/重要参数’ 3、只有便利的构造函数...

  • Java-注解Annotation

    1 注解的写法 2 注解放在哪里? 类的上面,属性上面,方法上面,构造方法上面,参数前面 3. 注解的作用 用来充...

  • 构造器

    构造器:也叫构造方法 构造器的格式 访问控制修饰符 类名(参数列表){//可写功能语句} 构造器的作用①创建对象②...

  • java类基础

    1、默认构造函数的作用 构造方法作用:对对象进行初始化. 当类中没有定义构造函数时,系统会指定给该类加上一个空参数...

网友评论

      本文标题:(2)Semaphore构造方法permits参数作用

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