python并发编程:多进程、多线程、异步I/O

计算机程序只是存储在磁盘上的可执行二进制(或其他类型)文件。只有把它们加载到内存中并操作系统调用,才有用生命期。

  1. 进程是一个执行中的程序。每个进程都拥有自己的地址空间、内存、数据栈以及其他用于跟踪执行的辅助数据。进程可以通过派生(fork或spawn)新的进程来执行其他任务,不过因为每个新进程都拥有自己的内存和数据栈等,所以只能采用进程间通信(IPC)的方式共享信息。

    multiprocessing模块

  2. 线程与进程类似,但它们在统一进程下执行,并共享相同的上下文。线程包括开始、执行顺序和结束三部分。当其他线性运行时,它可以被抢占(中断)和临时挂起(睡眠)——这种做法叫做让步(yielding)。

    threading模块

  3. 单线程+异步I/O的编程模型称为协程,有了协程的支持,就可以基于事件驱动编写高效的多任务程序。协程最大的优势就是极高的执行效率。协程的第二个优势就是不需要多线程的锁机制,因为只有一个线程,也不存在同时写变量冲突,在协程中控制共享资源不用加锁,只需要判断状态。

    asyncio模块

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值