Android 面试题目之 关于AbstractQueuedSynchronizer的注解翻译


关于AbstractQueuedSynchronizer的注解翻译:

 

提供一个框架来实现阻塞锁和相关同步器(信号量,事件,等),这个框架依赖于先入先出等待队列(FIFO)。

 

这个类设计作为很多同步器的基础,这些同步器都依赖于一个原子的(atomic)整形(int)来代表状态。子类必须定义受保护的方法来改变这个状态。子类也必须定义当这个对象被获取或者释放时,这个状态的意义。有了这些,这个类的其他方法实现所有的排队和阻塞机制。子类可以维护自己的状态,但是只有使用getState,setSate, compareAndSetState更新的整型状态才会被同步地(synchronization)监视。

 

子类应该定义非公用的内部帮助类来实现包装类同步属性。

AbstractQueuedSynchronizer 不实现任何同步的接口.相反,它定义了一些方法,例如acquireInterruptibly 可以被适当调用来作为具体的锁和同步器来实现他们的公用方法。

 

这个类支持默认的排斥模式和共享模式。当使用排斥模式的时候,尝试从其他线程获取一定会失败。共享模式可能(但是不必要)成功。这个类不会理解这些不同,它只理解机制。当一个共享的模式成功取得授权之后,等待线程必须决定是否能够取得授权。不同模式的等待线程共享同一个FIFO队列。一般情况下,实现的子类只支持其中一个模式。但是两种模式都可以同时工作,例如读写锁。只支持一种模式的不需要定义另外一种模式的方法。

 

这个类定义个内嵌的类,这个类可以用来实现ConditionisHeldExclusively 表示这个类被当前线程占用,release 方法中传入getState 值释放这个对象 acquire 又恢复到之前的那个状态。这个类AbstractQueuedSynchronizer中没有其他方法会创建这样的condition,如果这个限制不能狗满足需求,那就不要用它。ConditionObject 的行为是依赖于同步器的实现的语义的。

 

这个类提供内部队列的观察,操作和监视方法,以及条件对象的相似方法。这些方法如果有需要,可以public出来。

 

这个类的序列化只保存那个原子的状态,所以反序列化时,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值