Android 3. Galileo Computing - Apps entwickeln mit dem Android SDK. 60 Apps als Vorlagen. Mit Zugangscode im Buch für Bonus-Angebote

Android 3. Galileo Computing - Apps entwickeln mit dem Android SDK. 60 Apps als Vorlagen. Mit Zugangscode im Buch für Bonus-Angebote

von: Thomas Künneth

Galileo Press, 2011

ISBN: 9783836216975

Sprache: Deutsch

420 Seiten, Download: 5312 KB

 
Format:  PDF, auch als Online-Lesen

geeignet für: Apple iPad, Android Tablet PC's Online-Lesen PC, MAC, Laptop


 

eBook anfordern

Mehr zum Inhalt

Android 3. Galileo Computing - Apps entwickeln mit dem Android SDK. 60 Apps als Vorlagen. Mit Zugangscode im Buch für Bonus-Angebote



6 Multitasking (S. 147-148)

Die Zeiten, zu denen ein Computer mehrere Programme nur nacheinander ausführen konnte, sind zum Glück schon sehr lange vorbei. Moderne Desktop-Systeme sind multitaskingfähig. Sie können also mehrere Anwendungen gleichzeitig ausführen. Wenn eine Maschine nur einen Mikroprozessor enthält, ist dies so natürlich eigentlich gar nicht möglich. Denn auch der Chip kann ja (normalerweise) nur ein Maschinenprogramm ausführen.

Betriebssysteme greifen deshalb zu einem Trick. Sie führen ein Programm eine gewisse Zeit lang aus und ziehen dann die Kontrolle wieder an sich. Nun kommt eine andere Anwendung an die Reihe. Dieses Spiel wiederholt sich ständig. Auch wenn also nur stets ein Programm ausgeführt wird, entsteht für den Nutzer der Eindruck einer parallelen Abarbeitung.

Auch von Betriebssystemen für Smartphones erwartet man, dass sie Multitasking unterstützen. Aber warum eigentlich? Ihr kleiner Bildschirm macht die gleichzeitige Nutzung von mehreren Anwendungen (mit Benutzeroberfläche) praktisch unmöglich. Und ein eingehender Anruf unterbricht ohnehin die aktuelle Tätigkeit. Sinnvolle Einsatzgebiete für eine parallele Abarbeitung von Aufgaben gibt es freilich viele. Denken Sie an das Abspielen von Audiotracks oder das Herunterladen von Dateien.

Android ist multitaskingfähig. Das Fundament hierfür bildet der eingesetzte Betriebssystemkern. Linux bietet sogenanntes präemptives Multitasking Dies bedeutet, dass Prozesse, die zu viel Rechenzeit beanspruchen, damit nicht das ganze System ausbremsen können, da nach einer gewissen Zeit der Kern die Kontrolle wieder an sich zieht. Wie Sie bereits wissen, wird jede Android-App in einer eigenen Laufzeitumgebung ausgeführt. Diese ist wiederum ein jeweils eigener Linux-Prozess. Weder ein Fehler in der App noch der Absturz ihrer virtuellen Maschine kann die Funktion des Smartphones oder Tablets also beeinträchtigen.

6.1 Threads

Auch innerhalb eines Programms kann die (quasi-)parallele Ausführung von Aufgaben sehr nützlich sein. Denken Sie an Spiele. Das Bewegen der Figur ist von Eingaben des Benutzers abhängig. Gegner oder bewegliche Hindernisse müssen aber »von alleine« ihre Position ändern können. Ein anderes Beispiel: Nehmen Sie an, das Anklicken einer Schaltfläche löst eine komplizierte Berechnung aus, die mehrere Minuten in Anspruch nimmt. Natürlich erwartet der Benutzer, dass er das Programm währenddessen weiter bedienen oder zumindest die aktuelle Tätigkeit unterbrechen kann.

Kategorien

Service

Info/Kontakt