gpt4 book ai didi

python - 为什么第二个线程没有启动?

转载 作者:行者123 更新时间:2023-11-28 21:23:06 26 4
gpt4 key购买 nike

这段代码没有给我预期的输出。一定是出了什么问题,但我不明白它可能是什么。

import thread
import time

def func1(threadName, sleepTime):
while 1 < 2:
time.sleep(sleepTime)
print "%s" % (threadName)

def func2(threadName, sleepTime):
while 1 < 2:
time.sleep(sleepTime)
print "%s" % (threadName)


try:
thread.start_new_thread(func1("slow" , 5))
thread.start_new_thread(func2("fast" , 1))
except Exception, e:
print str(e)

我期望的输出是这样的:

fast
fast
fast
fast
slow
fast

等等,但似乎只有第一个线程开始了。我稍后实现了“try and except” block 以查看是否有某处错误但没有错误!

最佳答案

看起来函数在线程启动之前被调用了。我对 Python 不是很熟悉,但请尝试:

thread.start_new_thread(func1, ("slow" , 5))
thread.start_new_thread(func2, ("fast" , 1))

请注意函数名称后的逗号 - 您将函数作为一个参数传入,并将参数参数的元组作为单独的参数传入。这让 start_new_thread 在新线程准备就绪时调用您的函数。

关于python - 为什么第二个线程没有启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17951922/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com