工控机多线程编程与性能调优实战
30章 · 从入门到部署
第1章
工控机基础与多线程概述
工控机硬件架构特点 · 多线程在工控场景的应用价值 · Python GIL锁对多线程的影响
第2章
Python线程基础
threading模块核心API · 创建线程的两种方式 · 线程的启动与等待 · 线程名称与标识
第3章
线程同步机制(上)
Lock锁的使用 · RLock可重入锁 · 死锁的产生与预防 · 我在PLC通信项目中遇到的死锁案例
第4章
线程同步机制(下)
Event事件对象 · Condition条件变量 · Semaphore信号量 · Barrier栅栏
第5章
线程间数据共享
全局变量的线程安全问题 · Queue队列的使用 · 线程本地数据ThreadLocal · 避免数据竞争的最佳实践
第6章
线程池与并发控制
ThreadPoolExecutor的使用 · submit与map方法 · 回调函数add_done_callback · 线程池大小调优
第7章
异步编程入门
concurrent.futures模块 · Future对象详解 · as_completed与wait函数 · 超时控制
第8章
GIL深度剖析
GIL的工作原理 · 为什么GIL是工控性能的瓶颈 · 多线程vs多进程的选择 · 绕过GIL的Numba方案
第9章
多进程编程基础
multiprocessing模块 · Process类 · 进程间通信Queue与Pipe · 进程池Pool
第10章
进程间同步与共享
Manager管理器 · 共享内存Value与Array · 进程锁Lock · 分布式工控场景的进程通信
第11章
协程与异步IO
asyncio库入门 · async/await语法 · 事件循环 · 协程在IO密集型工控任务中的应用
第12章
性能分析工具(上)
timeit模块 · cProfile性能剖析 · line_profiler逐行分析 · 内存分析memory_profiler
第13章
性能分析工具(下)
火焰图生成与解读 · Python性能分析器py-spy · 工控程序实时监控 · 日志性能开销分析
第14章
代码优化技巧
列表推导式与生成器 · 局部变量加速 · 字符串拼接优化 · 循环优化 · 使用内置函数
第15章
数据结构选型
list vs deque vs set vs dict的性能对比 · 工控数据采集场景的容器选择 · 自定义数据结构
第16章
C扩展与加速
ctypes调用C库 · Cython加速Python代码 · 使用numpy进行向量化计算 · 工控算法加速实战
第17章
内存管理与优化
Python内存模型 · 垃圾回收机制 · 对象池技术 · 内存泄漏检测与修复 · 工控长期运行的内存稳定
第18章
I/O优化策略
文件读写缓冲 · mmap内存映射文件 · 异步I/O · 工控日志系统的高效写入
第19章
网络通信优化
socket编程基础 · select/poll/epoll模型 · 异步网络框架aiohttp · 工控上位机与PLC通信优化
第20章
实时性保障
实时操作系统概念 · Python实时编程挑战 · 优先级反转与解决 · 工控任务调度策略
第21章
工控数据采集优化
高速数据采集架构 · 环形缓冲区设计 · 生产者消费者模式 · 数据丢包处理
第22章
工控数据处理流水线
管道模式设计 · 多阶段并行处理 · 数据批处理优化 · 流式计算框架
第23章
工控界面响应优化
PyQt/PySide多线程 · 界面冻结问题解决 · 信号槽机制 · 实时数据刷新策略
第24章
工控数据库访问优化
连接池技术 · 批量插入优化 · SQLite并发写入 · 时序数据库InfluxDB的Python客户端优化
第25章
工控系统稳定性
异常捕获与恢复 · 看门狗机制 · 进程守护 · 自动重启策略 · 日志轮转
第26章
多线程调试技巧
死锁检测 · 竞态条件复现 · 断点调试多线程 · gdb调试Python进程
第27章
工控性能基准测试
基准测试方法论 · wrk/ab工具 · 自定义压测脚本 · 性能回归测试
第28章
容器化与部署优化
Docker资源限制 · CPU亲和性设置 · 内存限制 · 工控程序的容器化部署
第29章
实战案例一:多通道数据采集系统
需求分析 · 架构设计 · 多线程实现 · 性能调优 · 测试验证
第30章
实战案例二:实时监控与报警系统
架构设计 · 多线程/多进程混合编程 · 性能优化 · 部署运维