Einleitungstext immer gleiche länge

Was ist Multithreading und Multitasking?

Jeder Algorithmus hat einen Startpunkt und wird in endlich vielen Schritten erledigt. Auf ein Programm übertragen, bedeutet das, dass jedes Programm über einen Programmstart verfügt. Nach dem Programmstart werden die einzelnen Schritte in logischer Abfolge ausgeführt. Nachdem das Programm alle Schritte durchlaufen ist, wird das Programm beendet. Um das Programm zu beenden, ist keine zusätzliche Anweisung notwendig. Moderne Betriebssysteme können parallele Prozesse nach dem Start ausführen: es können mehrere Programme gleichzeitig oder quasigleichzeitig ausgeführt werden. Das bedeutet, dass durch leistungsfähige Hardware und fortgeschrittene Betriebssystemlogik unterschiedliche Programme parallel ausgeführt werden! Je mehr Ressourcen ein Rechner hat, desto mehr Prozesse können gleichzeitig ausgeführt werden. Das wird Multitasking genannt. Außerdem besteht die Möglichkeit innerhalb eines Programms mehrere Stränge gleichzeitig oder quasigleichzeitig auszuführen. Diese Stränge werden auch Threads bezeichnet, dementsprechend heißt parallele Abarbeitung Multithreading. Dieses Konzept ist eine zentrale Eigenschaft von snap! (Snap Manual, S.72). Innerhalb eines Objektes oder für mehrere Objekte können mehrere Skripte simultan ausgeführt werden. Ist das eine Art Magie? Nein, snap! nutzt Multithreading Idee, indem zu jedem Zeitpunkt tatsächlich nur ein Skript läuft, aber snap! regelmäßig und in kurzen Zeitabständen zum nächsten Skript schaltet. Das passiert so schnell, dass wir diesen Vorgang als gleichzeitig wahrnehmen und das Gefühl haben, dass alle parallel angesetzte Skripte auch tatsächlich gleichzeitig ausgeführt werden. In Realität ist die Ausführung quasigleichzeitig.
Wichtig!
Für unsere Projekte und Programme werden wir immer davon ausgehen, dass wir eine parallele Abarbeitung erzielen, weil die Abarbeitung so schnell ist, dass wir keinen Unterschied merken können.