syncronized与锁的有什么区别

介绍

小编给大家分享一下syncronized与锁的有什么区别,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

<李>

锁是个接口;同步是Java中的关键字,内置语言实现

<李>

同步发生异常时,会自动释放线程占有的锁,因此不会发生异常死锁;锁发生异常时,如果没有主动通过解锁()方法释放锁,那么就会一直占用锁,发生死锁,因此需要在最后块中释放锁

<李>

锁可以让等待锁的线程响应中断;同步不行,等待的线程会一直等待下去

<李>

通过锁可以知道有没有成功获取锁;同步不行

<李>

锁可以提高多个线程进行读操作的效率。

<编辑>补充:

从性能上来说,如果竞争资源不激烈,两者性能是差不多的;但竞争非常激烈时,此锁时的性能要远远高于同步。

以上是“syncronized与锁的有什么区别”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

syncronized与锁的有什么区别