菜鸡每日一面系列打卡15天
每天一道面试题目
助力小伙伴轻松拿offer
坚持就是胜利,我们一起努力!
题目描述
谈谈你对synchronized关键字的理解。
题目分析
相比之前总结的有关volatile关键字的考查,面试官对synchronized关键字的考查更是有过之而无不及,而且对synchronized与volatile关键字往往是结合在一起考查的。上一篇文章系统介绍了有关volatile关键字的作用、原理及使用场景,对volatile关键字尚不清楚的小伙伴,可以移步文末相关链接进行学习,或者点击文章开始的每日一面专辑进行查看,而本文将系统介绍synchronized关键字。
题目解答
01
线程安全的定义
在谈synchronized关键字之前,菜鸡想先谈一谈线程安全的概念。相信绝大多数小伙伴都听说过“线程安全”这一概念,想要了解一个概念,最好的方式就是从其定义出发。
线程安全的定义(引自《Java并发编程实战》)如下:当多个线程同时访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果&