首页 > 解决方案 > 使python中的线程在到达函数末尾时自动加入

问题描述

我实现了一段代码,如下所示:

while True:
    t = threading.Thread(target=myfunction, args=(param1, param2))
    t.start()
    t.join()
    time.sleep(1)

我的函数包含对 API 的获取请求,如下所示:

def myfunction(param1, param2):

    x = requests.get(url=param1, param = param2)
    print("Status code: {}".format(x.status_code))

我在 while True 循环中有一行的原因time.sleep()是为了避免 API 受到速率限制,因为我每秒只允许一个请求。但是,计时器仅在t线程加入后才启动。这意味着如果对 api 的请求需要 0.2 秒,我只是每 1.2 秒发送一次请求,而不是每秒发送一次。

有没有办法让t线程自动加入,一旦它到达myfunction函数的末尾?

标签: pythonmultithreadingpython-multithreading

解决方案


推荐阅读