2015-06-21 86 views
1

我可以使用多个线程在python中执行一个for循环吗?我的意思是,我的循环有大量的迭代,所以我想同时运行多个线程,以便每个线程都可以执行一定数量的循环迭代。使用多个线程执行单个for循环

假设迭代次数的数量级高。例如10 ** 9。

而且,如果可能的话,是否会减少完成for循环执行所需的时间....?

+0

建议你看通话https://www.youtube.com/watch?v=MCs5OvhV9S4全局解释锁可以为CPU密集型任务时,多线程的问题被使用。大卫经历了各种可以使用的技术。 –

回答

0

我没有很多使用Python的经验,但更多一般情况下:如果循环中的迭代彼此独立,则多线程的使用很容易实现。这意味着迭代中的计算不应该取决于前一个的结果。

如果迭代是独立的,你可以通过给每个工作线程'工作的一部分'来分割工作。这可以通过给予每个线程相同的循环来实现,但是具有不同的启动和停止条件。所以使用多线程将导致更快完成循环(多少取决于处理器)。

本主题可能是帮助:How to use threading in Python?

+0

哦。好的男人。在我的情况下,结果取决于以前的迭代。但是,我想我可以通过提出一些分析来实现你的想法。无论如何,非常感谢........ –

+0

很高兴我能帮助一点点,祝你好运! –