0
点赞
收藏
分享

微信扫一扫

并发编程(一)

1.我们经常在编程中听到两个概念,或者在生活中也听到过两个概念。并发和并行。

  并发和并行有什么不同呢?很多人对这两个概念难以区分。

  并是一起的意思,并发一起发生,并行一起进行。如果按照中文去理解好像是一回事

  我们可以从英文的角度来看一下

   paerllel 并行

    这个有平行线的意思,并行

   concurrency并发

    这个单词需要记住,很多英文文章中都会出现这个单词。con共同、一起

    一起发生了

  一个是平行线的意思,一个是一起发生的意思。我们该怎么体会这个事情呢?

   并行有并排一起进行的意思,如果以高速公路为例子,高速的车都是无干扰的,进行。


  并行指的是,同时在某一时刻有好几件事同时在做。他们各自互不干扰

   同一时刻,互不干扰的在做事这个就是并行的概念


  concurrency并发,它指的是一起就发生了,它是什么意思呢?

   在指定的时间段内,有一些事在发生。

   

   并发是一段时间内要处理的事情


   比如高速公路口,有两万辆车一起等待进入高速,在0点时刻。在一段时间内,这两万俩车,要通过路口进入高速公路,这个事就是并发


   某以时刻有4个车同时进入高速路口。


   并行同一时刻好几件事,互不干扰的在进行



2.并发的解决方案

 为什么我们在生活中,更多的是听到的并发或者高并发?我们该如何解决,并发或者  高并发的问题?


  食堂打饭模型:

 假设在学校中学生去食堂吃饭,12点到1点这是午饭的时间。  这就是一段时间内有

 很多人想吃完饭。

 思考问题的时候,要从最简单的模型开始。


 学校是一个孤岛,有一个唯一的食堂、开门时间仅仅在12点到1点这个时间段供应午餐,其余时间都不会供应食物。并且食堂只有一个窗口打饭。想吃饭的话,只能进行排队,有5000人排队。


 其实遇到高并发的时候,大家第一个想到的问题是什么呢?

  排队,什么意思呢?排队是天然解决高并发的方案之一,排队就是队列。

  5000排队进行一一打饭,FIFO先进先出


3.缓冲区:  

 对数据进行排队,先到先得。排队的这个区间称为缓冲区,我们用Queue先进先出模块和LifoQueue后进先出队列,和PriorityQueue小顶堆实现。


 缓存什么时候使用呢?

  需要大量计算、耗时很长。反复要计算,在一段时间内,输入一定输出一定

 

4.争抢

   遇到高并发可以用先进先出队列进行解决,还有什么解决方法,争抢。每个人都争抢进行打饭。你认为争抢是一个比较好的解决方案吗?

    并发不仅仅能靠排队解决,其实在计算机当中争抢的东西非常多,计算机资源是有限,争抢也是一种天然的解决方案。


   虽然在排队,但是我们感觉效率总是很慢,争抢在计算机领域是一个比较不错的方案。争抢的时候,就是说刚有缝隙的时候,就有进程会立即有争抢这个资源。

   能够充分利用这个资源。


   使用资源的时候,进程会锁定这个资源,为了独占资源。为了保证进程在使用资源的时候不被打扰,我们需要把资源锁起来。

   

   共享锁,你读一下,我读一下都是可以的,写入只能由一个人写入。

   独占锁,我占用了资源,你们读都不能进行读取。


   争抢的时候会引入锁机制,用来保证,进程在使用资源的时候,不被打扰


   争抢这种方式有什么不好的地方吗?

    如果资源充分,同优先级的进程,进行争抢是没关系的。

    但是争抢的问题在于,如果存在紧急程度高的进程出现,会不能及时处理。

    还有一些任务,很久都得不到处理。


    如果你是用户,在进入一个网站的时候,很久都得不到处理。肯定用户就不等了


   争抢和排队都是属于解决高并发的方案


5.预处理    

 因为资源有限,我们不可能把所有人的需求都加载到内存中。除非需求太少了。

 我们只能把大多数人需要的东西提前准备好,这就是预处理的思想。

 我们做一些统计和分析,做好80%的热们,20%冷们现处理

 预处理思想,缓存经常用


 缓存中存放的是热门数据,放在内存的缓存中。


 预处理是对缓存的一种应用,缓存服务器很重要


6.并行

  原来打饭只有一个窗口,现在开两个窗口,现在就有两个窗口可以同时进行执行任务了,这就是并行的概念。


  并行是并发的一种解决方案,也就是可以用并行的手段来解决并发。并行是同一时刻执行。

7.提速





8.消息中间件

 中间件队列,在两个系统之间的存在,解决两个系统之间的耦合的

 中间件buffer,两个系统之间的队列


 解决两套系统之间的数据的缓存问题


 每个软件常用的,就那么多,功能很冗余

 项目中不能追求完美,够用就好

举报

相关推荐

0 条评论