while循环中的Python线程

时间:2018-11-08 15:25:33

标签: python

我希望test_func独立工作。我已经试过了,它应该每N秒打印一次,但是time.sleep()只会停止我的程序。

import time
import threading

def test_func():
    time.sleep(10)
    print("Printing stuff....")
    t = threading.Timer(10, test_func).start()

test_func()

# something goes here constantly

所以我虽然做了这样的事情,但这也不起作用。

import time
import threading

def test_func():
    time.sleep(10)
    print("Printing stuff....")

# something goes here constantly

while True:
    t = threading.Timer(10, test_func).start()

那么,如何解决?

2 个答案:

答案 0 :(得分:0)

不要在while循环中跨越更多线程。而是将代码更改为

def test_func():
    while True:
              time.sleep(10)
              print("Printing stuff....")

在此处在线程中调用test_func()。

答案 1 :(得分:0)

您不需要计时器。只需将函数放在线程中,即可:

fourier