0

我一直在使用线程级在很多我的Python代码运行的单个线程,并成功地做一些例行为多线程运行。问题是什么时候出现问题,调试时会变得很痛苦。这是我的代码块的样子:执行多线程程序

threads = [] 
for argument in get_file_method(): 
    thread = threading.Thread(self._routine, argument) 
    thread.start() 
    threads.append(thread) 

# Wait for all threads to complete 
for thread in threads: 
    filename = thread.join() 

问题是,我如何强制程序以单线程运行,以便于调试。

+1

这没有意义。例程的运行时间和顺序如何? – Eevee

回答

2

标准库中有一个dummy_threading模块,您可以使用它来代替threading。它提供了相同的界面,但按顺序运行代码(线程完成时返回start)。当然,你的线程不能相互依赖并行工作。

import dummy_threading as threading 
+0

谢谢Janne Karila,这有助于。但是,有没有一种方法可以明确指定程序允许产生多少线程? – superface

+0

@superface我会说你的程序应该控制它产生的线程数。也许这对你有用:[与多处理池相似的Python线程池](http://stackoverflow.com/q/3033952/222914) –