Python:如何执行线程并返回主线程

时间:2014-05-28 21:37:30

标签: python multithreading

我正在尝试在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方法?

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

你可以制作'线程'并且'回应'该类的成员变量并在' receive_response'中加入该主题。加入主题后,您知道该主题已完成接收'响应'所以它已准备好进行处理。