电面问了个问题 Java什么时候会发生锁的抢占

一脸懵逼, 不知道该怎么答
还有个问题 问我影响多线程效率的因素 也没答上来
最后果断挂了
这种问题应该怎么答 感觉没头绪
#Java#
全部评论
当一个线程持有某个对象的monitor而另一个线程又尝试获取这个monitor时,会出现锁的contention。 第二个问题你就让面试官先给你定义一下什么叫效率?单位时间内执行有效的代码的cpu time/总cpu time?1、减小同步块的大小。2、使用immutable对象。3、使用Unsafe包当中的CAS操作和无锁的数据结构。 问清楚面试官的意图比较重要。
点赞 回复 分享
发布于 2018-03-09 21:47
1.使用非公平锁的时候 2.效率的话,你可以根据不同业务场景来说,假如说如果你不需要公平锁,而你使用了公平锁那么会导致资源的浪费。如果你业务需求只是需要读取,你使用悲观锁,那么会造成吞吐量的下降…
点赞 回复 分享
发布于 2018-03-09 22:23
影响多线程效率,,要不要从底层答啊?像上下文切换,从红黑树移到等待队列。再把队列中的线程移到红黑树上。。我是这么猜的也不知道是不是这么回事😂
点赞 回复 分享
发布于 2018-03-10 09:13
感觉只会书上的内容,比如说让我大致描述下AQS的实现 sychronized的实现这些……对这些相对抽象的问题还有场景问题是一脸懵……
点赞 回复 分享
发布于 2018-03-11 01:24
都是很基础的问题,加油你是最胖的!
点赞 回复 分享
发布于 2018-03-09 22:33
哪家公司
点赞 回复 分享
发布于 2018-03-09 22:42
这种时候就要用你的二八解决问题了
点赞 回复 分享
发布于 2018-03-10 10:37

相关推荐

Yushuu:你的确很厉害,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了😆
点赞 评论 收藏
分享
09-27 10:54
重庆大学 C++
人已微死:致敬传奇耐测王。
投递小米集团等公司10个岗位
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务