我想在python中创建3个线程,我正在使用python类线程库, 这是下面是在while循环中创建线程的正确方法吗?它可能会产生问题吗?
while (count <= 3):
try:
thread = CreateThread(count, args)
thread.start()
except:
logger.error("Error: unable to start thread ")
还有其他正确的方法吗?
答案 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 ")