并发和并行概念剖析以及并发的解决方案-高深理论-大白话化

概念

并发和并行的区别
并行:在同一个时间点上同时有几件事情可以同时做,核心是有这么多事情同时做
并发:在一段时间内,能把指定的事情干完就行,核心是有这么多事情要做

举例

在一条乡村公路.在同一段时间内有许多车辆要路过村庄,这就是并发,但是有部分路面受损,交警来了,管制交通,梳理车道,让南向北向车辆互不干扰,穿过村庄,这就是并行

并发的解决-食堂打饭模型

12点开饭,学生下课涌向食堂,这就是并发,如果是新生也来了,这就是高并发呀!!
解决方式
1.队列,缓冲区(说白了就是排队)
假设女生优先,那就是分成两队,如果女生打饭对列来了,男生队列就等待,女生就是优先队列
2.争抢
谁挤进去谁打饭,打饭的时候是霸占窗口的,窗口不能为其他人提供饭菜,就是锁机制也叫排他性锁.不能说饭还没打完那,又被抢了,这样就不是争抢了这是"打架"!!全乱套了.
注意:有可能会出一直抢不到的问题
3.预处理(缓存)
提前把80%的热门饭菜提前做好,而20%的冷门菜现做.减少窗口锁定时间
4.并行
多窗口,多队伍打饭,这是一种水平扩展的思想
5.提速
提高单个窗口的打饭速度,这是一种垂直扩展的思想
6.消息中间件
地铁门外的九区回肠的走廊,缓冲人流,他讲的是程序与程序之间解耦缓冲,这么多人进地跌绝对不能让进去,这样地铁可能会崩溃,所以做一道拦截.
技术源于生活~~~~~

发布了6 篇原创文章 · 获赞 6 · 访问量 333

猜你喜欢

转载自blog.csdn.net/weixin_45154559/article/details/104610444