Заставить потоки в python автоматически присоединиться, когда они достигнут конца функции - PullRequest
0 голосов
/ 04 мая 2020

У меня реализован фрагмент кода, который можно увидеть ниже:

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

Моя функция содержит запрос get к API, например:

def myfunction(param1, param2):

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

Причина, по которой я имею строка time.sleep() в то время как True l oop предназначена для того, чтобы избежать ограничения скорости получения API, поскольку мне разрешен только один запрос в секунду. Однако таймер запускается только после присоединения потока t. Это означает, что если запрос к API занимает 0,2 секунды, я отправляю запрос только каждые 1,2 секунды, а не каждую секунду.

В любом случае поток t может автоматически присоединиться, как только он достигнет конец функции myfunction?

...