Python-并发、并行、协成的简易理解

1、什么是并发,为什么要对接口进行并发测试

什么是并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行(在一个CPU上切换处理事务)

为什么要对接口进行并发测试:要验证服务端是否对接口进行加锁。

2、代码为什么要加锁

(1)防止并发后数据混乱
(2)例如:同一段程序a=2,分别两个人同时读取a,取出来的数据都是2,但是两个都加1,此时加锁有a=4,如果不加锁,如数据同时对a进行加1,那么a=3是错误的。

3、什么是并行

什么是并行:当系统有一个以上CPU时,当一个CPU执行一个进程时,另一个CPU可以执行另一个进程,两个进程互不抢占CPU资源,可以同时进行,这种方式我们称之为并行(Parallel)。

4、并发与并行的区别

(1)并发,指的是多个事情,在极短的时间段内切换进行。(如20人只有一个咖啡机排成两排交叉进行)
(2)并行,指的是多个事情,在同一时间点上同时进行。(如20人有两个咖啡机排成两排同时进行)

5、进程、线程、协成是并行还是并发

(1)多进程之间相互独立,在运行的时候是并行类型。
(2)多线程是在极短的时间内切换进行,在单个CPU进行切换,所以多线程是并发类型。
(3)多协成是在线程里面,所以协成与线程原理一样,是在线程里面切换执行,所以也是并发类型。

其实总结来说,是取决于CPU的核心数
如果在运行的任务数等于CPU的核心数,最理想的情况,所有CPU都能执行自己的任务,那么在同一时间就有CPU核心数个数的任务在执行,这是并行

如果在运行的任务数大于CPU的核心数,那肯定会有多余的任务得不到CPU执行,CPU就会把这些任务切换运行,就是分时算法,分别给每个任务分配时间段,每个任务运行时间超过分配的时间段,就切换下一个任务执行,这叫并发

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

z千鑫

在线乞讨,行行好吧!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值