使用time.sleep

时间:2019-05-25 11:55:43

标签: python python-3.x

我遇到了一些问题,我需要在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

1 个答案:

答案 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()