当前位置: 首页 > 面试题库 >

Java:你了解过哪些同步器?请分别介绍下。

阎京
2023-04-24

(1)Semaphore同步器

特征:

经典的信号量,通过计数器控制对共享资源的访问
Semaphore(int count):创建拥有count个许可证的信号量
acquire()/acquire(int num) : 获取1/num个许可证
release/release(int num) : 释放1/num个许可证

(2)CountDownLatch同步器

特征:

必须发生指定数量的事件后才可以继续运行(比如赛跑比赛,裁判喊出3,2,1之后大家才同时跑)
CountDownLatch(int count):必须发生count个数量才可以打开锁存器
await:等待锁存器
countDown:触发事件

(3)CyclicBarrier同步器

特征:

适用于只有多个线程都到达预定点时才可以继续执行(比如斗地主,需要等齐三个人才开始)
CyclicBarrier(int num) :等待线程的数量
CyclicBarrier(int num, Runnable action) :等待线程的数量以及所有线程到达后的操作
await() : 到达临界点后暂停线程

(4)交换器(Exchanger)同步器

(5)Phaser同步器

 类似资料:
  • 本文向大家介绍请简单介绍一下你了解的Java领域中的Web Service框架都有哪些?相关面试题,主要包含被问及请简单介绍一下你了解的Java领域中的Web Service框架都有哪些?时的应答技巧和注意事项,需要的朋友参考一下 考察点:框架 参考回答: Java领域的Web Service框架很多,包括Axis2(Axis的升级版本)、Jersey(RESTful的Web Service框架)

  • 本文向大家介绍请介绍一些你了解的数据库优化方法相关面试题,主要包含被问及请介绍一些你了解的数据库优化方法时的应答技巧和注意事项,需要的朋友参考一下 考察点:数据库   (1)选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。 例如,在定义邮政编码

  • 本文向大家介绍请说说你了解的设计模式有哪些?相关面试题,主要包含被问及请说说你了解的设计模式有哪些?时的应答技巧和注意事项,需要的朋友参考一下 1、单例模式 在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例,才能确保它们的逻辑正确性、以及良好的效率。保证一个类仅有一个实例,并提供一个该实例的全局访问点。 (1)经典模式--单线程 对于线程来说不安全;但在单线程中已满足要求。

  • 本文向大家介绍请分别介绍一下aof和rdb都有哪些优点?以及两者有何区别?相关面试题,主要包含被问及请分别介绍一下aof和rdb都有哪些优点?以及两者有何区别?时的应答技巧和注意事项,需要的朋友参考一下 考察点:redis   RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。 AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时

  • 本文向大家介绍请你用简单一句话,分别向你父母介绍微信。相关面试题,主要包含被问及请你用简单一句话,分别向你父母介绍微信。时的应答技巧和注意事项,需要的朋友参考一下 父亲:微信可以免费语音通话、视频聊天,比发短信、打电话方便省钱,还有麻将、斗地主等棋牌游戏可以玩。 母亲:微信不光能免语音费通话、视频聊天,还能直接交水电费,省事儿又省心。

  • 本文向大家介绍请你介绍一下B+树?相关面试题,主要包含被问及请你介绍一下B+树?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: B+是一种多路搜索树,主要为磁盘或其他直接存取辅助设备而设计的一种平衡查找树,在B+树中,每个节点的可以有多个孩子,并且按照关键字大小有序排列。所有记录节点都是按照键值的大小顺序存放在同一层的叶节点中。相比B树,其具有以下几个特点: 每个节点上的指针上限为2d而不