在python进程之间共享资源

在python进程之间共享资源,python,Python,我想在多个python脚本之间共享多个资源。理想情况下,我要做的是运行我的主程序。它包含一些脚本范围的变量。然后,我想将完全相同的程序分叉到一个新的shell中,并允许它访问脚本范围的变量 我正在研究多处理,但我不确定是否还有其他更好的方法,例如使用管道?您可以使用Value和Arrayfrom多处理跨进程共享内存 多处理的示例: 将输出: 3.1415927 [0, -1, -2, -3, -4, -5, -6, -7, -8, -9] 它是按引用传递还是按值传递?如中所示,如果新创建的进程

我想在多个python脚本之间共享多个资源。理想情况下,我要做的是运行我的主程序。它包含一些脚本范围的变量。然后,我想将完全相同的程序分叉到一个新的shell中,并允许它访问脚本范围的变量


我正在研究多处理,但我不确定是否还有其他更好的方法,例如使用管道?

您可以使用
Value
Array
from
多处理
跨进程共享内存

多处理
的示例:

将输出:

3.1415927
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]

它是按引用传递还是按值传递?如中所示,如果新创建的进程修改了变量,主进程会得到更新吗?
Value
Array
类是共享内存分配的抽象,所以是,从任何进程对这些类的实例所做的更新都将反映在访问这些实例的所有进程中。是否可以将此新进程生成到新的终端窗口中?否,新的终端窗口意味着一个新的外壳,它脱离了
多处理
管理的共享内存。如果您需要生成新的终端窗口,则必须使用
subprocess.Popen
并通过管道与之通信,而不可能使用共享内存。我计划使用客户机/服务器应用程序。服务器将分为两部分。处理所有连接和接收数据的主程序。然后我希望能够打开其他shell,运行相同的程序,但只接收数据。因此,每个shell都使我能够与连接到服务器的客户机进行交互。管道是这样做的吗?本地插座会更好吗?
3.1415927
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]