python中的线程示例

时间:2012-04-08 21:08:04

标签: python multithreading

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

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

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

1 个答案:

答案 0 :(得分:1)

我建议您尝试使用multiprocessing模块,并使用其map()方法。这样可以有效地使用多个核心。

由于Python解释器中耗时的锁定,Python线程的效率并不高。有一个threading模块,但您最好使用multiprocessing模块来解决地图/减少问题。

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

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