我想编写Python代码,以加载数据集作为输入并对其进行分析。
将有5个并行进程分析数据 - 每个进程将以独特的方式以不同的方式处理数据。
在任何处理开始之前,“主”脚本(将“启动”所有不同子进程的脚本)将定义一个空列表。
我希望所有不同的进程将其输出写入上述相同的列表中(这意味着每个进程都能够直接操作在“主”脚本中定义的列表)。
也就是说,如果process1更改了该列表的第一个值,则所有其他进程(在运行时)将看到该列表的第一个值已更改。
我感觉可以使用2个不同的Python模块来解决此问题:multiprocessing和zeroMQ。
在这种情况下,是否有理由更喜欢其中之一?如果我将“主”脚本分割在不同(多个)服务器之间而不是在同一台服务器上运行,您的答案是否会改变?
(如果这很重要,我正在使用Linux)
将有5个并行进程分析数据 - 每个进程将以独特的方式以不同的方式处理数据。
在任何处理开始之前,“主”脚本(将“启动”所有不同子进程的脚本)将定义一个空列表。
我希望所有不同的进程将其输出写入上述相同的列表中(这意味着每个进程都能够直接操作在“主”脚本中定义的列表)。
也就是说,如果process1更改了该列表的第一个值,则所有其他进程(在运行时)将看到该列表的第一个值已更改。
我感觉可以使用2个不同的Python模块来解决此问题:multiprocessing和zeroMQ。
在这种情况下,是否有理由更喜欢其中之一?如果我将“主”脚本分割在不同(多个)服务器之间而不是在同一台服务器上运行,您的答案是否会改变?
(如果这很重要,我正在使用Linux)
multiprocessing
和zeroMQ
都是可以进行并行处理的模块。问题是,哪一个在这种情况下更灵活/更合适?此外,在希望“越过”一台机器并使用多台机器时,哪一个更合适? - user3262424multiprocessing
还是zeroMQ
。 - user3262424