我正在尝试在Python中创建异步HTTP请求。我使用请求 - 非常好 - 它不提供异步的可能性。
每次我想发送HTTP请求时,我都会启动一个新线程。它正确执行,应该在主线程中返回响应,这样我就可以执行一个回调方法。
我目前正在使用这样的线程模块:
class MyConnection
# ...
def make_request(self):
# Use requests lib here
response = requests.request(...)
self.receive_response(response)
def receive_response(self):
# process response here because it is my callback method
def start(self):
thread = threading.Thread(target=self.make_resquest)
thread.start()
一切正常,但方法receive_response应该在主线程中调用,而不是我在start方法中启动的线程。我怎么能回到主线程来执行receive_response方法?
非常感谢你的帮助!
答案 0 :(得分:0)
你可以制作'线程'并且'回应'该类的成员变量并在' receive_response'中加入该主题。加入主题后,您知道该主题已完成接收'响应'所以它已准备好进行处理。