在 Python 编程的进阶之路上,多线程常被视为提升性能的秘密武器,但当任务真正触及 CPU 密集型计算时,你会发现线程的效能瓶颈——那便是全局解释器锁(GIL)。本课程《尹成带你学Python视频教程-进程》正是为了解决这一痛点而生,它带领学习者从多线程的回顾出发,深入探索多进程这一更纯粹的并行计算方案。

课程伊始,通过一个直观的多进程拷贝文件案例,你将迅速建立起对进程并发的感性认识。与线程不同,进程拥有独立的内存空间,这意味着进程之间无法像线程那样直接共享全局变量。这一核心差异是贯穿全篇的关键线索:课程专门设置了章节剖析“多进程与全局变量”的关系,明确指出进程间数据隔离的特性,从而引出如何利用特定机制实现跨进程通信的必要性。

在接下来的内容中,你将系统掌握 multiprocessing 模块的精髓。从如何创建进程、理解 `join` 方法的阻塞同步作用,到获取进程编号以调试并发逻辑,每一步都配有详尽的代码演示。特别值得强调的是课程关于数据共享的深入讲解。由于默认隔离,进程间的数据传递需要借助管道(pipe)、队列(Queue)或共享内存数组。你将学习到如何使用 Pipe 进行双向数据收发,如何利用 Queue 安全地在多个进程间传输复杂对象,以及如何通过 Value 和 Array 实现进程间的共享数据读写,甚至探索共享字典与列表的高级用法。

除了理论讲授,本课程还极具实战价值。通过“读取 CSV 并统计行数”这一经典场景,课程对比了单线程、多线程与多进程三种方案的执行效率。你会惊讶地发现,在 CPU 密集型任务下,多进程方案能够突破 GIL 限制,实现真正的多核并行加速,而多线程则受限于锁机制,性能提升有限。此外,课程还涵盖了 `subprocess` 模块调用 Linux Shell 命令的技巧,以及信号处理机制,这些都是在 Linux 环境下进行高级 Python 开发不可或缺的实用技能。

最后,通过多线程检索数据的综合案例及作业练习,你将把进程与线程的知识融会贯通,学会根据任务类型(I/O 密集型 vs CPU 密集型)灵活选择最合适的并发模型。这门课程不仅教你语法,更培养你构建高效、健壮并发程序的思维模式。

课程目录

课程目录29 集
  • 1 1多线程回顾 (05:32).mp4
  • 2 2多进程拷贝代码 (24:39).mp4
  • 3 3多进程拷贝全局变量 (03:03).mp4
  • 4 4获取进程编号 (12:04).mp4
  • 5 5subprocess执行LinuxShell (01:56).mp4
  • 6 6信号 (05:18).mp4
  • 7 7Linux进程小结 (03:42).mp4
  • 8 9__name__ (05:51).mp4
  • 9 10进程mutiprocessing创建过程 (08:48).mp4
  • 10 11join作用 (04:35).mp4
  • 11 12进程不可以用全局变量共享数据 (05:17).mp4
  • 12 12进程同步 (08:43).mp4
  • 13 13进程pipe发送接收数据 (08:44).mp4
  • 14 14进程队列 (10:21).mp4
  • 15 15进程队列传输数据 (06:59).mp4
  • 16 16进程共享数据 (05:45).mp4
  • 17 17进程之间共享数组 (02:15).mp4
  • 18 18进程共享字典与list (05:35).mp4
  • 19 19简单小结 (04:34).mp4
  • 20 1读取CSV (06:46).mp4
  • 21 2写入csv (04:14).mp4
  • 22 3单线程统计行数 (08:43).mp4
  • 23 4多线程统计行数 (08:43).mp4
  • 24 5多进程统计行数 (16:11).mp4
  • 25 6多线程检索数据第一步 (21:06).mp4
  • 26 7多线程检索 (14:36).mp4
  • 27 8多线程检索找到通知其他人退出 (06:04).mp4
  • 28 10作业 (07:13).mp4
  • 29 9多线程检索开放数据并保存同一个文件 (08:41).mp4