在python中创建多个线程?

时间:2014-01-15 10:19:03

标签: python multithreading loops

我想在python中创建3个线程,我正在使用python类线程库, 这是下面是在while循环中创建线程的正确方法吗?它可能会产生问题吗?

while (count <= 3):
     try:
        thread = CreateThread(count, args)
        thread.start()
     except:
        logger.error("Error: unable to start thread ")

还有其他正确的方法吗?

1 个答案:

答案 0 :(得分:3)

虽然我们看不到你的实际Thread类我会认为它是正确的,但是这段代码中有一些东西可以改进。

您需要保留对每个线程的引用,以便稍后停止/加入/等待它们。

所以你的代码看起来应该更像:

thread = []
for i in range(3):
    try:
        new_thread = CoreRouterThread(count, args)
        new_thread.start()
        # we append the thread here so we don't get any failed threads in the list.
        thread.append(new_thread)
     except:
        logger.error("Error: unable to start thread ")