gpt4 book ai didi

python - 多线程数据工作的推荐语言

转载 作者:太空狗 更新时间:2023-10-29 22:08:31 25 4
gpt4 key购买 nike

现在,我结合使用 Python 和 R 来满足我所有的数据处理需求。然而,我的一些数据集非常大,并且会从多线程处理中受益匪浅。

例如,如果有两个步骤,每个步骤都必须对一组数百万个数据点执行,我希望能够在第一步仍在运行时开始第二步,使用部分已通过第一步处理的数据。

据我了解,Python 和 R 都不是这类工作的理想语言(至少,我不知道如何用任何一种语言实现它)。对于这种类型的数据处理,最好的语言/实现是什么?

最佳答案

可以使用 multiprocessing 在 Python 中执行此操作模块——这会产生多个进程而不是线程,这会绕过 GIL 并因此允许真正的并发。

这并不是说 Python 是这项工作的“最佳”语言;这是一个可以争论的主观观点。但它肯定有能力做到这一点。

编辑:是的,有几种方法可以在进程之间共享数据。管道是最简单的;它们是一种类似文件的句柄,一个进程可以写入其中,然后另一个进程可以从中读取。直接来自文档:

from multiprocessing import Process, Pipe

def f(conn):
conn.send([42, None, 'hello'])
conn.close()

if __name__ == '__main__':
parent_conn, child_conn = Pipe()
p = Process(target=f, args=(child_conn,))
p.start()
print parent_conn.recv() # prints "[42, None, 'hello']"
p.join()

例如,您可以让一个进程执行第一步,然后将结果通过管道发送到另一个进程以进行第二步。

关于python - 多线程数据工作的推荐语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3507451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com