Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux集群 > Architecture > » 正文

AbstractQueuedSynchronizer 独占模式 VS 共享模式

来源: xuhang1128 分享至:

java.util.concurrent.locks.AbstractQueuedSynchronizer作为java并发库的核心构件,结合了多位大师的智慧,作者Doug Lea写道,Thanks xxxx, for helpful ideas, discussions, and critiques on the design of this class.

此类包含两种模式,独占模式和共享模式,处于独占模式下时,其他线程试图获取该锁将无法取得成功。在共享模式下,多个线程获取某个锁可能(但不是一定)会获得成功

独占模式下获取锁的方法为tryAcquire,此方法必须有子类实现,下图为并发库中此方法的具体实现类,可以看到锁ReentrantLock就是采用的独占模式

共享模式下获取锁的方法为tryAcquireShared,此方法同样必须有子类实现,下图为并发库中此方法的具体实现类,可以看到信号灯Semaphore就是采用的共享模式,结合上面可以看见读写锁ReentrantReadWriteLock两者皆用到了


Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
相关文章列表:
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史