Java多线程实践:为什么同步代码块不能被重入?

原创 水深无声 2024-10-12 20:00 122阅读 0赞

在Java中,同步代码块(synchronized block)是通过锁定对象的特定锁来实现线程互斥的。当一个线程进入了一个被其他线程锁定的同步代码块时,如果该锁已经被当前线程持有,则会抛出LockInterruptionException

重入是指同一个线程再次进入它之前已进入的同步代码块的情况。由于同步代码块的锁定是基于锁对象和持有锁的线程,所以同一线程不能在没有释放之前再次获得相同的锁,这就是为什么同步代码块不能被重入的原因。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,122人围观)

还没有评论,来说两句吧...

相关阅读