工作生活

AQS共享锁 - Semaphore(信号量)

2019-07-05  本文已影响0人  沐兮_d64c

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
上一篇 下一篇

猜你喜欢

热点阅读