我遇到了一些问题,我需要在while循环中分开运行单独的代码
示例:
import time
while True:
time.sleep(5)
print('\ntime 5 s')
while True:
time.sleep(1)
print('\ntime 1 s')
我知道这是行不通的,但是如何像这样的输出来初始化它:
time 1 s
time 1 s
time 1 s
time 1 s
time 1 s
time 5 s
答案 0 :(得分:0)
您需要在单独的线程中运行每个循环,否则它们将以顺序方式执行,即第一个循环然后是第二个循环(由于第一个循环永远执行,因此永远不会执行)。
例如:
import time
import threading
def func1():
while True:
time.sleep(1)
print('\ntime 1 s')
def func5():
while True:
time.sleep(5)
print('\ntime 5 s')
threads = [threading.Thread(target=func) for func in [func1,func5]]
for thread in threads: thread.start()
for thread in threads: thread.join()