Ich versuche, die Vorteile von [multiprocessing](http://docs. python.org/library/multiprocessing) gegenüber threading zu verstehen. Ich weiß, dass multiprocessing das Global Interpreter Lock umgeht, aber welche anderen Vorteile gibt es noch und kann threading nicht dasselbe tun?
Prozesse werden auf der CPU ausgeführt, sodass Threads unter jedem Prozess liegen. Wie führt der erste Teil dieses Satzes zum zweiten Teil? Threads werden auch auf der CPU ausgeführt.
9 Stimmen
Ich denke, das könnte im Allgemeinen nützlich sein: blogs.datalogics.com/2013/09/25/… Obwohl je nach Sprache interessante Dinge passieren können. Zum Beispiel sind laut Andrew Sledges Link die Python-Threads langsamer. Bei Java ist es genau umgekehrt, Java-Prozesse sind viel langsamer als Threads, weil für einen neuen Prozess eine neue JVM benötigt wird.
7 Stimmen
Keine der beiden Top-Antworten (aktuelle Top, zweite Antwort) behandelt das GIL in irgendeiner signifikanten Weise. Hier ist eine Antwort, die das GIL-Aspekt behandelt: stackoverflow.com/a/18114882/52074
0 Stimmen
@AndrasDeak können wir das umgekehrt schließen gemäß: meta.stackoverflow.com/questions/251938/…, da diese viel mehr Upvotes/Antworten hat?
3 Stimmen
@CiroSantilli der Grund, warum ich diese Richtung gewählt habe, ist, weil die Antworten auf diese Frage schrecklich sind. Die akzeptierte Antwort hat wenig Substanz, im Kontext von Python ist sie inakzeptabel. Die am meisten gevotete Antwort ist besser, aber es fehlt immer noch eine ordentliche Erklärung. Die akzeptierte Antwort des Duplikats hat eine ausführliche Erklärung von einem der besten Beitragenden (und Lehrer) im Tag, der tatsächlich erklärt, was die "GIL-Beschränkungen" sind und warum man entweder verwenden möchte. Ich würde es vorziehen, das Duplikat in dieser Richtung zu behalten. Ich glaube, wir haben darüber im Python Chat diskutiert, aber ich kann dort nach Meinungen fragen, wenn du möchtest.
0 Stimmen
Besonders, da nicht registrierte Benutzer von der doppelten Quelle zum Ziel umgeleitet werden, würde ich es hassen, wenn sie diesen Beitrag anstelle von abarnerts Antwort finden würden.
0 Stimmen
@AndrasDeak OK, ich werde meine Antwort dann kopieren, da sie die beste ist XD
2 Stimmen
@CiroSantilli ah, ich habe übersehen, dass du hier eine Antwort hast! Als ich sagte "die Antworten [...] sind schrecklich", habe ich natürlich die Anwesenden ausgeschlossen ;) Ich denke, es wäre viel besser, dort deine Antwort zu haben!