介绍
小编给大家分享一下syncronized与锁的有什么区别,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
- <李>
锁是个接口;同步是Java中的关键字,内置语言实现
李> <李>同步发生异常时,会自动释放线程占有的锁,因此不会发生异常死锁;锁发生异常时,如果没有主动通过解锁()方法释放锁,那么就会一直占用锁,发生死锁,因此需要在最后块中释放锁
李> <李>锁可以让等待锁的线程响应中断;同步不行,等待的线程会一直等待下去
李> <李>通过锁可以知道有没有成功获取锁;同步不行
李> <李>锁可以提高多个线程进行读操作的效率。
李>从性能上来说,如果竞争资源不激烈,两者性能是差不多的;但竞争非常激烈时,此锁时的性能要远远高于同步。
以上是“syncronized与锁的有什么区别”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!