Python3 异步编程之进程与线程
Python3 异步编程之进程与线程-1
一、了解进程间通信
-
进程间通信
-
进程
-
线程
-
线程 vs 进程
-
IO模型
-
并发 vs 并行
-
异步 vs 同步
二、多线程与多进程的用法
-
计算密集型 vs I/O密集型
-
GIL
-
多线程
-
多进程
三、协程的好处与用法
-
协程
-
yield
-
yield from
四、进程间通信-IPC 01
-
管道:无名管道和命名管道(FIFO)
-
消息队列
-
信号量
-
共享存储
-
Socket
-
Streams
相关定义:
管道:
命名管道:
消息队列:
信号量:
共享内存:
元子操作:
五、进程特征
-
动态性
-
并发性
-
独立性
-
异步性
六、进程状态
-
运行 running 占用了CPU正在运行
-
就绪 ready 等待CPU
-
阻塞 blocked 暂时不具备运行条件,即使CPU空闲
相关定义:
进程控制块:
Unix系统中的几个进程控制操作:
线程:
线程之间共享:
线程的独立信息:
线程的创建:
七、了解进程间通信02
I/O模型
-
阻塞式
-
非阻塞式
-
I/O复用
-
信号驱动式
-
异步I/O
相关定义:
I/O操作的两个阶段:
阻塞式I/O:
非阻塞式I/O:
I/O复用:
信号驱动式:
异步I/O:
并发和并行:
异步与同步:
异步的实现:
处理多任务操作:
-
多进程/多线程
-
I/O模型
-
协程
多线程、多进程实现模式:master worker模式
master分配任务 多进程缺点:创建进程资源需要多frok()函数 多线程缺点:某个线程出问题,整个挂掉
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通