面试问题求助
百度一面面试官问我redis为什么使用多线程不使用单线程,多线程不是更快吗?我说线程上下文切换,竞争CPU,他说那我给你线程隔离,一个CPU一个线程,我说一个线程已经够快了,没有必要,他说多线程不是更快更好吗,就像一个银行一个柜台再快也没有多个柜台快,真的给鼠鼠整不会了
问问牛油们这个应该怎么答啊#牛客AI配图神器#
全部评论
我觉得是因为它是以kv形式存储的,如果要处理哪个数据,能快速通过这个k去拿到并处理,本来在处理每一个就已经很快了,单线程排队处理就好了,如果用多线程,增加了切换带来的开销,这个开销带来的代价大于了多线程并行处理的优点,所以在处理数据处理上用单线程,只在设计io的地方用多线程
我觉得Redis它主要是涉及的是数据读写,性能瓶颈在网络带宽,不是CPU,那它多线程就没有意义了
多路I/O复用模型,考察你这个呢
相关推荐
07-23 23:54
门头沟学院 大数据开发工程师 点赞 评论 收藏
分享