python - 使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
函数的末尾?
解决方案
推荐阅读
- c++ - 链接使用不同优化设置编译的目标代码是否安全?
- progressive-web-apps - 如何在 Laravel 5.7 中实现渐进式 Wep 应用程序
- algorithm - 如果引用数很少(低于 6),旅行推销员问题的最佳算法是什么?
- android - 解析失败:Ljavax/xml/bind/DatatypeConverter;
- reactjs - 查询完成前下载excel文件
- dart - Flutter:根据登录状态切换 PopupMenuButton
- c++ - 为什么初始化列表允许 C++ 中的类型缩小?
- c# - 为客户端 Blazor 部署环境动态配置 Http.BaseAddress
- node.js - 理解中的问题“WebSocketServer”不是一个类
- python - 寻找模块/库来设计我的 Tkinter GUI