繁体   English   中英

在2个Python进程之间共享数据结构

[英]Sharing data structures between 2 Python processes

我有2个运行Python 3的应用程序/进程/脚本:有一些简单的RPC机制来共享这两个独立进程之间的列表,元组和数据结构?

确切地说,这2个进程在本地工作,在同一台机器上,但是也可以使用可以与远程进程一起使用的通用解决方案。

如果使用多处理启动进程,则可以跨进程边界共享ArrayValue变量。

查看有关使用shared memorymultiprocessing python doc页面

...

 from multiprocessing import Process, Value, Array def f(n, a): n.value = 3.1415927 for i in range(len(a)): a[i] = -a[i] if __name__ == '__main__': num = Value('d', 0.0) arr = Array('i', range(10)) p = Process(target=f, args=(num, arr)) p.start() p.join() print(num.value) print(arr[:]) 

...

这里的价值可以

'c': ctypes.c_char,  'u': ctypes.c_wchar,
'b': ctypes.c_byte,  'B': ctypes.c_ubyte,
'h': ctypes.c_short, 'H': ctypes.c_ushort,
'i': ctypes.c_int,   'I': ctypes.c_uint,
'l': ctypes.c_long,  'L': ctypes.c_ulong,
'f': ctypes.c_float, 'd': ctypes.c_double

所以初始化将根据它。

但params num和args是强制性的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM