@BlackJack:
Ich habe lange darüber nachgedacht, ob ich das hier schreibe oder nicht.
Der einfachste Weg wäre, ich Denke mir meinen Teil und behalte das Ergebnis für mich. Auf der anderen Seite, bietet die Kontroverse auch Chancen.
Ich verstehe Deinen Einwand.
Aus der Sicht eines Softwareentwicklers ist der Multithreading Support unter Windows- und POSIX-Threads zu erst einmal völlig gleich.
Differenzen ergeben sich nur aus den unterschiedlichen Namen der Funktionen der jeweiligen API zum Betriebssystem.
Dieses wird unter Python jedoch nicht sichtbar, weil Python selber, eine bzw. mehrere APIs bereitstellt, die unter allen Betriebssystemen gleich sind.
Dennoch gibt es riesige Unterschiede wie Threads vom Betriebssystem verwaltet, geplant und ausgeführt werden.
Auch spielt die Prozessor-Mikroarchitektur, auf welcher das jeweilige Betriebssystem zur Ausführung gelangt, eine gewisse, teilweise aber auch entscheidende Rolle.
Python Threads sind immer real system threads der jeweiligen Betriebssysteme, also POSIX Threads für Mac OS X und Unix/Linux sowie Windows Threads für Windows Betriebssysteme.
Mit Python Threads kann man keine Nebenläufigkeit Programmieren.
Die Nebenläufigkeit, auch Parallelität (englisch concurrency) genannt, ist in der Informatik die Eigenschaft eines Systems, mehrere Berechnungen, Anweisungen oder Befehle gleichzeitig ausführen zu können. - Quelle Wikipedia.
Threading und Multiprocessing richtig anwenden, ist eines der zentralen Themen in der Softwareentwicklung.
Aus diesem Grund finde ich es sehr Schade, das hier bei diesem Thema kaum etwas sinnvolles bei raus gekommen ist.
Ich glaube auch nicht, das der Fragesteller seinem ursprünglichen Anliegen, sich diesem Thema Schritt für Schritt zu näheren, wirklich näher gekommen sein wird.
Er wanderte im finsterem Tal, und an Stelle ihm einen Weg hinaus zu zeigen, oder ihm wenigstens ein Navigationssystem an die Hand zu geben, zieht die Karawane weiter und lässt den Fragesteller weiter wandern, in noch tieferer Dunkelheit zurück.
Weiter Links:
http://www.dabeaz.com/python/UnderstandingGIL.pdf
Multicore Application Programming: For Windows, Linux, and Oracle Solaris, 9. November 2010 von Darryl Gove
Leseprobe :
https://books.google.de/books?id=NF-C2ZQZXekC&pg
Ich denke ein so wichtiges Thema hat es nicht verdient, hier so behandelt zu werden.
Wir Alle sollten uns einmal Gedanken machen, wie man dieses Thema so aufbereiten könnte, das es Einsteigern eine Chance zum Verständnis,
aber auch allen Anderen einen echten Mehrwert bietet.
@Alle: Ich möchte nicht mit dem Finger auf andere zeigen und schon gar nicht dann, wenn dabei drei Finger auf mich selber zurück zeigen.
Auch möchte Ich dies hier nicht als Kritik an BlackJack, oder an irgend jemanden sonst verstanden wissen.
Alle Personen die sich in diesem Forum engagieren verdienen Respekt, Anerkennung und Dank für das, was sie hier jeden Tag leisten.