按照我的理解,另一个 Python 实例是通过多处理启动的。如果是这样,
a.是否为每个多处理进程启动一个Python实例?
b.如果一个进程正在处理一个内存数据库表,另一个进程正在处理另一个内存数据库表,Python 如何管理这两个进程的内存分配?
c. Wrt b) 是调用之间持续的内存分配,即。如果第一个进程连续使用,但第二个进程很少使用,那么在进程调用之间是否会重新创建内存表?
最佳答案
(a) 是的
(b) Python 几乎不管理它,而是操作系统来管理
(c) 是的,如果第二个进程退出,则无论第一个进程是否持续存在,其资源都会被释放。原则上,您可以使用共享对象来允许第二个进程使用第一个进程安排的将持续存在的内容。如何处理“某物”作为数据库表的具体示例是另一回事。
使用multiprocessing
运行额外的Python进程很像使用subprocess
运行额外的Python(或Java)进程。不同之处在于,多处理
为您提供了一套在进程之间进行通信的方法。它不会改变操作系统进程的基本生命周期和资源处理。
关于python - 使用 Python 多处理进行内存管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21330232/