我基本上是在尝试编写mapreduce的多核版本,只是为了看看我是否有这个概念。并且还想学习python中的线程化。
我可以说两个文本字符串。
如何使用多线程同时处理它们(让我们将它们标记为单词)。 我以为我理解了文档,但这是一个部分(多线程程序),如果必须高效,必须非常小心。 有什么建议吗?
答案 0 :(得分:1)
我建议您尝试使用multiprocessing
模块,并使用其map()
方法。这样可以有效地使用多个核心。
threading
模块,但您最好使用multiprocessing
模块来解决地图/减少问题。
另外,如果你想确保你理解map / reduce,为什么不玩真正的map / reduce系统呢? Hadoop是一个可用的免费软件map / reduce系统,可以将Python与Hadoop一起使用:
http://www.michael-noll.com/tutorials/writing-an-hadoop-mapreduce-program-in-python/