
在我五年的测试开发生涯中,多线程和多进程编程一直是提升程序性能的重要手段。从最初的懵懂踩坑,到现在能够熟练运用各种并发技术,这个过程中积累了大量的实战经验。
今天,我想和大家分享一些在实际项目中遇到的典型问题和解决方案,希望能帮助大家避免一些常见的陷阱,更好地利用Python的并发能力。
Case1: 多进程中,如果遇到闭包如装饰器等函数,进程会报Can‘t pickle local object
参考文档:
原创大约 6 分钟

在我五年的测试开发生涯中,多线程和多进程编程一直是提升程序性能的重要手段。从最初的懵懂踩坑,到现在能够熟练运用各种并发技术,这个过程中积累了大量的实战经验。
今天,我想和大家分享一些在实际项目中遇到的典型问题和解决方案,希望能帮助大家避免一些常见的陷阱,更好地利用Python的并发能力。
参考文档:

进程、线程和协程是Python并发编程的三大支柱,也是我在五年测试开发工作中最常用的技术。无论是编写自动化脚本,还是开发测试平台,掌握这些并发技术都是必不可少的基础技能。
在这篇文章中,我将系统地梳理Python中进程和线程的核心概念和重要知识点。这些理论基础看似枯燥,但却是后续实战应用的重要基石。在下一篇文章中,我会分享在实际工作中总结出来的进程和线程使用模板。
程序是我们编写好的代码,当我们运行程序后,每个程序最少启动一个进程,而一个进程又最少启动一个线程,我们可以把进程理解为一个工厂,而线程则是工厂中的一个流水线,一个工厂可以有多个流水线,而一个流水线只能属于一个工厂,一个工厂的流水线可以并行执行,而一个流水线的执行只能是串行的,因此我们可以把工厂理解为进程,而流水线理解为线程。每个工厂之间相对来说其实就是独立的(资源独立),当然也可以共享变量,这就相当于,从一个供应商处拿资源,资源的数量是有限的,而每个工厂里面各个流水线资源共享,这其实就引申出一个资源竞争的问题,需要做资源使用上的一个同步和分配(线程间通信和锁机制)。好了用了这样一个形象的例子,我把什么是进程,什么是线程给大家讲了一下,希望有助于你的理解.