Ich lerne, wie man die threading
und die multiprocessing
Module in Python verwendet, um bestimmte Operationen parallel auszuführen und meinen Code zu beschleunigen.
Ich finde es schwierig (vielleicht weil ich keine theoretischen Kenntnisse darüber habe) zu verstehen, was der Unterschied zwischen einem threading.Thread()
Objekt und einem multiprocessing.Process()
Objekt ist.
Außerdem ist es mir nicht ganz klar, wie ich eine Warteschlange von Aufgaben instantiieren kann und nur 4 (zum Beispiel) von ihnen parallel laufen lassen kann, während die anderen auf die Freigabe von Ressourcen warten, bevor sie ausgeführt werden.
Die Beispiele in der Dokumentation finde ich klar, aber nicht sehr umfassend; sobald ich versuche, die Dinge etwas zu komplizieren, erhalte ich viele seltsame Fehler (wie eine Methode, die nicht gepickt werden kann, usw.).
Also, wann sollte ich die threading
und multiprocessing
Module verwenden?
Können Sie mir einige Ressourcen verlinken, die die Konzepte hinter diesen beiden Modulen erläutern und wie man sie richtig für komplexe Aufgaben verwendet?