美文网首页工作生活
AQS共享锁 - Semaphore(信号量)

AQS共享锁 - Semaphore(信号量)

作者: 沐兮_d64c | 来源:发表于2019-07-05 17:20 被阅读0次

1,Semaphore源码分析

1)内部类Sync实现了AQS。使用AQS的volatile state属性,代表permits令牌数。

image.png
2)构造Semaphore
image.png
3)共享锁获取
从Semaphore中获取一个令牌
image.png
image.png
image.png
4)共享锁的释放
image.png
image.png
image.png

2,Semaphore使用

信号量通常用于限制访问物理或者逻辑资源的线程数(通过state值)。初始化1时,作为二元信号量,只有0|1个permis。

1)Semaphore流控

image.png

相关文章

网友评论

    本文标题:AQS共享锁 - Semaphore(信号量)

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