0
我對Python有點新。我一直在努力尋找這個編碼問題的答案。我有一個在線程計時器上運行的函數。這允許它在我的其他代碼運行時每秒執行一次。我希望這個函數能夠連續執行,也就是說每次執行完它重新開始執行,而不是一個定時器。原因是由於步進電機的延遲變化,該功能需要不同的時間。使用線程的連續循環
我對Python有點新。我一直在努力尋找這個編碼問題的答案。我有一個在線程計時器上運行的函數。這允許它在我的其他代碼運行時每秒執行一次。我希望這個函數能夠連續執行,也就是說每次執行完它重新開始執行,而不是一個定時器。原因是由於步進電機的延遲變化,該功能需要不同的時間。使用線程的連續循環
這是你在找什麼?
from threading import Thread
def f():
print('hello')
while True:
t = Thread(target=f)
t.start()
t.join()
或者,也許這一點,這說明執行的併發路徑(生產,刪除sleep()
來電,當然):
from threading import Thread
from time import sleep
def g():
print('hello')
sleep(1)
def f():
while True: g()
Thread(target=f).start()
sleep(1)
print('other code here')
你能告訴你寫的代碼?如果我們能看到你已經嘗試過的東西,那麼提供指導將會更容易。 – DMH
如果你想讓函數連續執行,爲什麼不直接編寫函數以便自己啓動呢?那麼只需在一個新線程中啓動一次,並且它會持續在該線程中運行? – vik
@vik:如果你的意思是遞歸地調用自己,那麼你打到遞歸深度限制,即''RuntimeError:超過最大遞歸深度'' –