我有一个函数slow_function
需要大约200秒来处理一个job_title
,它读写一个全局变量。与不同参数并行运行一个函数 - python
使用此代码的性能没有提高。我是否错过了一些东西,但是这会返回相同的结果。
代码并行运行五个的工作类别:
from threading import Thread
threads = []
start = time.time()
for job_title in self.job_titles:
t = Thread(target=self.slow_function, args=(job_title,))
threads.append(t)
# Start all threads
for x in threads:
x.start()
# Wait for all of them to finish
for x in threads:
x.join()
end = time.time()
print "New time taken for all jobs:", end - start
请阅读这一个http://stackoverflow.com/questions/32657840/is-it-possible-to-avoid-locking-overhead-when-sharing-类型的字典之间线程-IN-p/32659672#32659672。我不确定你的问题是否重复,但它可以帮助你。 – Jimilian
谢谢。你的解决方案为我工作。 – Azhar