Python网络与并发编程 06 并发与并行

并发与并行

并发和并行是指操作系统处理任务的能力。

即有多个任务时是一个一个的处理?还是一次处理多个?

  • 并发:操作系统具有处理多个任务的能力
  • 并行:操作系统具有同时处理多个任务的能力

并发是包含并行的,这里再提出一个伪并行的概念,就是看起来像是同时处理多个任务,但是实际上这些任务并不是被同时处理的,而是具有一定的先后次序,由于这种任务处理切换的速度太快了,所以看起来像是同时处理。

同步与异步

同步和异步是指任务的提交方式。

即当一个任务提交完成后是否需要等待任务的反馈结果出现后再去做其他的事情。

  • 同步:当任务提交完成后,原地等待任务的返回结果,等待的过程中不做任何事

    程序上面表现出来的感觉就是卡住了

  • 异步:任务提交之后,不原地等待任务的返回结果,直接去做其他事情

    当任务结果出现后会自动反馈给调用者

同步很好理解,但是异步的执行结果是怎么自动反馈的呢?

这是因为我们在提交异步任务的时候会给任务绑定一个回调函数,当任务完成后会自动的触发该回调函数获得任务执行结果。

阻塞与非阻塞

阻塞和非阻塞是指程序的运行状态。

即程序现在是否卡住了?卡住了就是阻塞,没卡住就是非阻塞,常见I/O操作。

  • 阻塞:当调用某个函数的时候卡住不懂了,如input()函数
  • 非阻塞:当调用某个函数的时候,如遇见I/O操作程序并不会卡住而是去做其他的事情
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值