当我使用python编写代码时,我总是想知道python是否默认使用多线程。
假设一个代码,例如
l = [10, 20, 30, 40, 50, 60, 70, 80, 90]
print reduce(lambda x, y: x + y, l) / len(l)将很容易地使用多线程进程。通过让线程获取列表的一个小集合的和。
简而言之,python默认使用多线程吗?在可能的情况下使用多线程吗?还是总是用一个?
发布于 2014-05-01 00:39:19
如果不显式地定义线程行为,Python就不会使用其他线程。此外,由于解释器的内存处理并不是线程安全,所以Python中的线程处理并不总是完全可用的全局解释器锁。
发布于 2014-05-01 00:48:17
不是的。您的代码将按顺序运行。
此外,您的示例依赖于您对与整数相加的关联属性的知识。
Python不知道这是一个整数列表,也不知道添加的对象与要添加的对象是关联的。
特别是,如果您的列表是浮动列表,那么添加它们的顺序会影响结果。
https://stackoverflow.com/questions/23400362
复制相似问题