不可中断的意思是等待获取锁的时候不可中断,拿到锁之后可中断,没获取到锁的情况下,中断操作一直不会生效。
Synchronized提供的打断操作只能是线程进入wait/time_wait状态后,另一个线程执行interrupt进行打断
但是,当另一个线程执行interrupt时,则原线程没有锁,无法抛出被打断的异常,也就等待获取锁时不可中断
Reentranlock可中断,因为有方法lockInterruptibly(),如果没有锁并且被打断的话会直接抛出被打断异常,也就是等待获取锁可中断
本文发布于:2024-01-27 21:14:41,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17063612802678.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |