无法获取信号量的线程会发生什么情况?
当线程无法获取信号量(由于缺乏许可证)时会发生什么。是否会转入等待状态?
编辑:当信号量可用时,线程是否会开始恢复先前的执行序列。
What happens when a thread cannot acquire a Semaphore (due to lack of permit). Will it be moved to the wait state?
EDIT:Will the thread start resume the previous execution sequence, when the semaphore becomes available.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的。如果您正在谈论
java. util.concurrent.Semaphore
(和aquire
方法 发生的情况是:tryAquire<然而,顾名思义, /code>
只会尝试获取锁,如果没有许可,则不会阻塞返回 false。
是的。如果另一个线程调用
release
,则该线程可能会从acquire
返回并继续执行。Yes. If you're talking about
java.util.concurrent.Semaphore
(and theaquire
method this is what happens:tryAquire
will however, as the name suggests, only try to aquire the lock, and instead of blocking return false if it has no permit.Yes. If another thread calls
release
this thread may return fromacquire
and continue it's execution.