Ich weiß, wie wie diesesWie implementiert man Java-ähnliches asynchrones Verhalten in Python?
Instantiate einen neuen Thread einen Asynchron-Betrieb in Java implementieren -> Thread tut zeitraubend stuff (Disk IO oder Netzwerkaktivität) -> Thread beendet seine Arbeit und
zum Hauptthread führen passierenIch versuche, das gleiche in Python zu tun, aber konnte keinen Weg finden ... Ich habe über async
und await
, multiprocessing.Pool
gelesen. Weder gibt mir eine klare Vorstellung davon, wie man das Gleiche erreichen kann.
Die nächste Art, wie ich gefunden ist multiprocessing.Pool.apply_async(Callable,Iterable,Callback)
.Aber dieses Ding nicht in einer Klasse instanziiert werden kann, da es in if __name__=="__main__"
gewickelt werden muss, und die __name__
ist mein Klassenname.
Jeder elegante Weg, Async in Python zu tun? Danke!
Kann ich einen Rückruf mit dieser Methode implementieren? – MiDaa
Bearbeitet mit einem neuen Beispiel, ist das, was Sie brauchen? –
Danke für Ihre Hilfe! Teilweise ja, aber der Join blockiert immer noch den Haupt-Thread, ich brauche einen Rückruf-Mechanismus, der eine Funktion aufruft (diese Funktion ist irgendwie definiert, wenn wir den Thread erstellen), wenn der Thread seinen Job beendet. – MiDaa