前言
说到高并发,那么就要先理解一件事情,那就是并发跟并行的区别,接下来便讲讲两者的区别。
一、并发
说到并发,什么是并发呢?先举个例子来说明一下吧。
比如生活中常见的咖啡机。
现在有一台咖啡机在售卖咖啡,这时候有很多客人都在购买咖啡,这时候对于用户购买咖啡来说,就是并发行为,因为咖啡机同时只能给一名客人出售咖啡,其他客人只能够排队等待。这个过程就叫并发,而在我们开发中,操作系统可能只有一个cpu处理器(即我们的咖啡机),这时候就只能处理一个线程,而我们则会启动多个线程(多个购买咖啡的用户)。这个过程就是我们并发。而并发数指的就是同时有多少的线程存在。
并发就是同一时刻中,只有一个线程在执行。
二、并行
刚说完并发,现在再说说什么并行,同样举例说明。
还是以咖啡机为例,一台咖啡机明显不够使用了,这个时候又增加一台咖啡机,客人可以同时在在两台咖啡机下购买咖啡,这个过程,就是并行,两台咖啡机同时工作,不像一台咖啡机,只能一台工作,这样齐头并进,便是 并行。在开发中,有的设备的配置比较高级,有多个cpu,可以同时运行多个线程,也即是并行。
并行就是,在同一时间内,有个多线程在执行。
并行,同一时刻能同时进行不同的任务,看的的是同一个时间点上有多少个任务在执行,这个执行的数量叫做并发度,
并发,交替执行不同的任务,是在一个时间段上有多少个任务执行,这个执行数量叫并发数
三、总结
要想学习并发编程,那么最基础的并发跟并行就要区分开,明白什么是并发,什么是并行,才能在接下来的学习中更好的学习到并发编程。
网友评论