python并发编程(一):多线程,多进程

'''
多进程(线程)编程:
1. 进程和线程
2. 并发与并行
3. 同步和异步
4. 阻塞和非阻塞
5. 进程/线程的调度模型
''' # 综述

'''
进程和线程:
1. 进程:
1) 是一个程序在数据集上的一次动态执行过程
2) 由程序, 数据集, 进程控制模块组成

2. 线程:
1) CPU的一个最小执行单元,
2) 线程的出现是为了降低进程间切换的消耗
3) 实现在一个进程内的并发
4) 由线程ID, 程序计数器, 寄存器集合, 堆栈组成

3. 进程和线程的关系:
1) 进程是线程的容器, 程序至少有一个进程, 一个进程至少有一个线程
2) 一个进程内的线程们共享进程资源, 线程几乎不拥有资源
3) 进程之间的资源不共享

4. 多进程/多线程的切换方式:
1) IO阻塞
2) 时间轮询
''' # 进程和线程

'''
并发和并行:
1. 并发: 系统具有处理多个任务的能力,(可能不是并行, 如快速切换)

2. 并行: 系统具有'同时'处理多个任务的能力

3. 并发和并行的关系: 并行是并发的子集
''' # 并发和并行

'''
同步和异步:
1. 同步: 当进程(线程)执行IO操作时, 没得到结果就等待

2. 异步: 当进程(线程)执行IO操作时, 不等待, 数据接收成功后, 再回来处理

3. 同步和异步时针对任务的调度方式而言(等待/不等待)
''' # 同步和异步

'''
阻塞和非阻塞:
1. 阻塞: 当进程(线程)执行IO操作时, 该进程(线程)被挂起, 直到有结果时才被激活

2. 非阻塞: 当进程(线程)执行IO操作时, 该进程(线程)不会被挂起, 没有结果也返回

3. 阻塞和非阻塞时针对进程(线程)的调度(挂起/不挂起)
''' # 阻塞和非阻塞

'''
进程(线程)的调度模型

转载于:https://www.cnblogs.com/lancelotxly/p/10837806.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值