Python默认使用线程吗?

时间:2014-05-01 00:34:26

标签: python multithreading

当我使用python编写代码时,我总是想知道python是否默认使用多线程。

假设代码如

l = [10, 20, 30, 40, 50, 60, 70, 80, 90]
print reduce(lambda x, y: x + y, l) / len(l)

使用多线程进程可以轻松完成。通过让线程获得列表的小集合的总和。

简而言之,python是否默认使用多线程,何时可能?或者总是使用一个?

2 个答案:

答案 0 :(得分:4)

如果没有显式定义线程行为,Python就不会使用其他线程。此外,Python中的线程并不总是完全正常,因为Global Interpreter Lock因为解释器的内存处理不是线程安全的。

答案 1 :(得分:1)

没有。您的代码将按顺序运行。

此外,您的示例依赖于您对加法与整数的关联属性的了解。

Python并不知道它是一个整数列表,或者对于要添加的对象,这些添加将是关联的。

特别是,如果您的列表是浮动列表,那么您添加它们的顺序可以影响结果