首页 > 其他 > 详细

生产消费者模式,并不是高并发模式

时间:2017-06-24 19:16:50      阅读:280      评论:0      收藏:0      [点我收藏+]

我为什么说生产消费者模式,并不是高并发模式?
因为高并发的关键因素是数据分割,不是通信。
生产消费者模式只是一个异步数据通信模式。对并发性能的提高有限。

为什么数据分割对并发性能影响这么大?

首先,我们需要说一说硬件cpu,毕竟软件最后是cpu来执行。
我们的目标是让代码性能尽可能的高。
更详细的表述,就是让代码最大限度的发挥cpu的性能。
现在的电脑、手机都已经全部是多核cpu了。
所以,表述就是让代码最大限度的发挥多核cpu的性能。
最大限度的发挥多核cpu的性能,需要我们尽可能的保证代码的高并行度。
高并行度就是代码尽可能在再多个cpu核心上独立运行,尽可能减少多个cpu核心的之间的同步,也就是减少锁竞争。因为锁竞争会使得代码变成串行执行,会花费大量cpu时间来加锁。

多个核心为什么需要同步?
因为他们需要正确的操作同一个内存块。既完成内存块的操作,又不破坏数据。

下面是具体例子:

微服务

微服务其实隐含着数据分割的思想。

单核到多核的发展

单核进一步提高性能,需要更高的频率,或者单周期执行更多的指令。
更高的频率,受限于功耗墙。
单周期执行更多的指令,使得单个cpu核心的设计变得更加的复杂,难度巨大。

生产消费者模式,并不是高并发模式

原文:http://www.cnblogs.com/yipiancaidi/p/7074051.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!