AQS的理解

 AQS是多线程对共享资源的访问控制

        多线程:占用线程1、等待线程2...等待线程n

        共享资源:state

        这些线表示多线程对共享资源的访问

        双向队列进行访问控制【控制体现在两方面:有多少线程去占用资源;占用线程执行完后,执行哪个/哪些线程;】

面试时聊聊对AQS的理解:

1.定义:AQS是多线程对共享资源的访问控制

2.解释:多线程体现在双向队列,每一个节点都是一个线程;

              有多少线程能够同时访问资源取决于资源有多少以及当前访问线程的策略是什么样的;

              线程访问资源是有一些策略的,是通过双向队列实现的;

AQS 资源共享方式

AQS 定义两种资源共享方式:Exclusive(独占,只有一个线程能执行,如ReentrantLock)和Share(共享,多个线程可同时执行,如Semaphore/CountDownLatch)。

一般来说,自定义同步器的共享方式要么是独占,要么是共享,他们也只需实现tryAcquire-tryReleasetryAcquireShared-tryReleaseShared中的一种即可。但 AQS 也支持自定义同步器同时实现独占和共享两种方式,如ReentrantReadWriteLock

 

        

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值