Я хочу связать функцию с параметром self - PullRequest
0 голосов
/ 13 апреля 2020

Я хочу создать поток для этой функции, но не знаю, как создать поток, когда установлен параметр self. У любого есть идея, как я могу go об этом. Буду признателен

Вот функция

def processinformation(self):
    app = App.get_running_app()
    session = requests.Session()
    self.notif_stream = session.get("**********************************" + app.displayname + "/.json", stream=True)
    for line in self.notif_stream.iter_lines():
        if line:
            print(json.loads(line))
            newline = ast.literal_eval(line.decode('utf-8'))
            for key, thevalue in newline.items():
                for key, value in thevalue.items():
                    self.notif = session.get("**********************************" + app.displayname + "/" + key + "/" + "notification" + "/.json")                          
                    self.notificationslist.adapter.data.extend([value])          

1 Ответ

1 голос
/ 13 апреля 2020

ОК, у меня обычно нет особых оснований для написания многопоточных Python программ, но, похоже, это работает:

#!/usr/bin/env python3

import threading

class MyTarget:
    def mymethod(self, arg1, arg2):
        print(f"MyTarget, {arg1} {arg2}")

if __name__ == '__main__':
    my_target = MyTarget()
    t = threading.Thread(target=my_target.mymethod, args=("X", "Y"))
    t.start()
    # NOTE: In any _real_ program, the main thread would do
    #  something else, concurrently with the new thread.
    t.join()
...