电面问了个问题 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

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务