-1

我基本上是在尝试编写 mapreduce 的多核版本,只是为了看看我是否理解了这个概念。并且还想学习python中的线程。

我可以说两块文本字符串。

我如何使用多线程同时处理它们(比如说将它们标记为单词)。我以为我理解了文档,但这是一部分(多线程程序),如果它必须高效,就必须非常小心。有什么建议么?

4

1 回答 1

1

我建议您尝试使用该multiprocessing模块,并使用它的map()方法。这将让您有效地使用多个内核。

由于 Python 解释器中的锁定耗时,Python 线程的效率不如预期的那么高。有一个threading模块,但您可能最好使用该multiprocessing模块来解决 map/reduce 类型的问题。

此外,如果您想确保您了解 map/reduce,为什么不使用真正的 map/reduce 系统呢?Hadoop 是一个可用的免费软件 map/reduce 系统,可以将 Python 与 Hadoop 一起使用:

http://www.michael-noll.com/tutorials/writing-an-hadoop-mapreduce-program-in-python/

于 2012-04-08T23:05:17.887 回答