Python 多进程编程全解析
1. 引言
在 Python 编程中,线程的扩展性常常让程序员感到困惑。例如,一个能处理 100 个线程的网络服务器,当线程数扩展到 10000 个时,性能可能会变得很差。这是因为每个线程都需要自己的系统资源,并且线程上下文切换、锁操作等带来的开销会变得非常显著。为了解决这个问题,很多应用会被重构为异步事件处理系统。同时,消息传递是 Python 并发编程中一个值得采用的概念,它能减少锁和同步原语的使用,并且自然地扩展到网络和分布式系统中。
2. 多进程模块概述
Python 的 multiprocessing 模块提供了在子进程中启动任务、进行数据通信和共享以及执行各种同步操作的支持。它的编程接口模仿了 threading 模块中线程的接口,但与线程不同的是,进程之间没有共享状态,一个进程对数据的修改只对该进程本地有效。
3. 进程
multiprocessing 模块的核心是进程,通过 Process 类来表示。
3.1 Process 类
Process([group [, target [, name [, args [, kwargs]]]]])
-
target:进程启动时要执行的可调用对象。 -
args:传递给targ
超级会员免费看
订阅专栏 解锁全文
1383

被折叠的 条评论
为什么被折叠?



