gpt4 book ai didi

python - 线程不会调用函数 (Python)

转载 作者:太空宇宙 更新时间:2023-11-03 15:42:30 25 4
gpt4 key购买 nike

我有一个用 python 2.7 编写的脚本,需要一个线程。但是,无论我做什么,线程都不会调用该函数。

它调用的函数:

def siren_loop():
while running:
print 'dit is een print'

我尝试调用它的方式:

running = True
t = threading.Thread(target=siren_loop)
t.start()

或者:

running = True
thread.start_new_thread( siren_loop, () )

我什至尝试向 Siren_loop 添加参数以查看是否有效,但没有任何变化。我只是无法让它打印 Siren_loop 函数中的行。

我还尝试了许多其他奇怪的事情,但显然不起作用。我做错了什么?

编辑:既然人们说它有效,我尝试从另一个函数调用线程。所以它看起来像这样:

def start_sirene():
running = True
t = threading.Thread(target=siren_loop)
t.start()

然后该部分被调用:

if zwaailichtbool == False:
start_sirene()
print 'zwaailicht aan'
zwaailichtbool = True
sleep(0.5)

也许这会导致问题?最后一个中的打印语句有效,当我在线程语句之前或之后添加打印时,它也有效。

最佳答案

因此,在尝试了几个小时的各种方法之后,我找到了解决方案,但仍然不明白问题所在。

显然该程序不喜欢这么多步骤。我退了一步(启动警报方法),但使用了完全相同的代码,突然它就起作用了。仍然不知道为什么这是问题所在。如果有人知道请赐教xD

关于python - 线程不会调用函数 (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42010684/

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