生产消费者模式,并不是高并发模式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生产消费者模式,并不是高并发模式相关的知识,希望对你有一定的参考价值。
我为什么说生产消费者模式,并不是高并发模式?
因为高并发的关键因素是数据分割,不是通信。
生产消费者模式只是一个异步数据通信模式。对并发性能的提高有限。
为什么数据分割对并发性能影响这么大?
首先,我们需要说一说硬件cpu,毕竟软件最后是cpu来执行。
我们的目标是让代码性能尽可能的高。
更详细的表述,就是让代码最大限度的发挥cpu的性能。
现在的电脑、手机都已经全部是多核cpu了。
所以,表述就是让代码最大限度的发挥多核cpu的性能。
最大限度的发挥多核cpu的性能,需要我们尽可能的保证代码的高并行度。
高并行度就是代码尽可能在再多个cpu核心上独立运行,尽可能减少多个cpu核心的之间的同步,也就是减少锁竞争。因为锁竞争会使得代码变成串行执行,会花费大量cpu时间来加锁。
多个核心为什么需要同步?
因为他们需要正确的操作同一个内存块。既完成内存块的操作,又不破坏数据。
下面是具体例子:
微服务
微服务其实隐含着数据分割的思想。
单核到多核的发展
单核进一步提高性能,需要更高的频率,或者单周期执行更多的指令。
更高的频率,受限于功耗墙。
单周期执行更多的指令,使得单个cpu核心的设计变得更加的复杂,难度巨大。
以上是关于生产消费者模式,并不是高并发模式的主要内容,如果未能解决你的问题,请参考以下文章