ReentrantLock与synchronized的区别
2018-06-27 09:47:07来源:博客园 阅读 ()
1、与synchronized相比,ReentrantLock提供了更多,更加全面的功能,具备更
强的扩展性。例如:时间锁等候,可中断锁等候,锁投票。
2、ReentrantLock还提供了条件Condition,对线程的等待、唤醒操作更加详细和
灵活,所以在多个条件变量和高度竞争锁的地方,ReentrantLock更加适合(以后
会阐述Condition)。
3、ReentrantLock提供了可轮询的锁请求。它会尝试着去获取锁,如果成功则继
续,否则可以等到下次运行时处理,而synchronized则一旦进入锁请求要么成功要
么阻塞,所以相比synchronized而言,ReentrantLock会不容易产生死锁些。
4、ReentrantLock支持更加灵活的同步代码块,但是使用synchronized时,只能
在同一个synchronized块结构中获取和释放。注:ReentrantLock的锁释放一定要
在finally中处理,否则可能会产生严重的后果。
5、ReentrantLock支持中断处理,且性能较synchronized会好些。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Java线程池的创建详解
- System.out.println()和System.out.print()区别 2020-06-10
- ArrayList是如何实现的,ArrayList和LinedList的区别?Array 2020-05-19
- java基础面试题1 2020-05-19
- 【漫画】互斥锁ReentrantLock不好用?试试读写锁ReadWriteLo 2020-05-15
- throws和throw的区别 2020-05-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash