我有一个树莓派,我已经连接了一个4按钮键盘。使用blinker的信号,我把它连接起来运行一些方法。在
#sender
while True:
if buttonIsDown == True: signal.send()
#reciever
@signal.connect
def sayHI():
print("1")
time.sleep(10)
print("2")
这工作得很好,但是当我第二次按下按钮时(在上一次按下按钮的10秒内),它不会在线程暂停在time.sleep(10)
中时触发该方法。在
如何让它在暂停时再次激发该方法(可能在另一个线程中)
这是一个老问题,但对其他人来说还是有用的。在
您可以在每次发出信号时启动一个新线程,这样您就可以在事件发生时立即捕获所有事件。请记住,在您的代码中,由于您有一个
while True
,信号从未连接到函数,您应该按照相反的顺序定义它们。在下面是一个基于您的代码的工作示例:
相关问题 更多 >
编程相关推荐