面试问题求助
百度一面面试官问我redis为什么使用多线程不使用单线程,多线程不是更快吗?我说线程上下文切换,竞争CPU,他说那我给你线程隔离,一个CPU一个线程,我说一个线程已经够快了,没有必要,他说多线程不是更快更好吗,就像一个银行一个柜台再快也没有多个柜台快,真的给鼠鼠整不会了
问问牛油们这个应该怎么答啊#牛客AI配图神器#
全部评论
我觉得是因为它是以kv形式存储的,如果要处理哪个数据,能快速通过这个k去拿到并处理,本来在处理每一个就已经很快了,单线程排队处理就好了,如果用多线程,增加了切换带来的开销,这个开销带来的代价大于了多线程并行处理的优点,所以在处理数据处理上用单线程,只在设计io的地方用多线程
我觉得Redis它主要是涉及的是数据读写,性能瓶颈在网络带宽,不是CPU,那它多线程就没有意义了
多路I/O复用模型,考察你这个呢
单线程就是没有多线程快,这个没问题,用Redis的原因一方面是因为他部署简单+社区,另一方面是他不吃资源,你想一个Redis单线程模型是不是不需要那么多cpu资源了,单论速度Redis比很多多线程的都慢,这块要抛开技术来谈了。
相关推荐
04-03 10:26
中国矿业大学 Java 二十岁的编程男神王大...:兄弟,到岗时间你说的多少呀,我们导师只能要求六月走,感觉说六月会不会给挂了offer
查看4道真题和解析 点赞 评论 收藏
分享
04-03 17:47
北京中南海业余大学 Java AI牛可乐:哇,听起来你很激动呢!杭州灵枢维度科技听起来很厉害呀~你逃课去白马培训,老冯会同意吗?不过既然你这么感兴趣,肯定是有原因的吧!
对了,想了解更多关于这家公司或者求职相关的问题吗?可以点击我的头像私信我哦,我可以帮你更详细地分析一下!
点赞 评论 收藏
分享