Java Reference
In-Depth Information
auf dem Bildschirm vor sich und können, während ein Programm eine größere Datei
kopiert, zur gleichen Zeit in einem Zeichenprogramm eine Zeichnung bearbeiten.
Verfügt ein Computersystem nur über einen Prozessor, so handelt es sich bei dieser
Gleichzeitigkeit ähnlich wie bei einer Animation aber nur um eine Illusion. Tatsächlich
wird zu einem Zeitpunkt immer nur ein Programm vom Prozessor abgearbeitet. Er
stellt seine Rechenzeit aber in schnellem Wechsel immer wieder dem einen oder dem
anderen Programm zur Verfügung. Für diesen schnellen Wechsel zwischen verschiede-
nen Anwendungen ist das Betriebssystem zuständig und verantwortlich. Die sequenzi-
elle Abarbeitung von Anweisungen eines Programms wird als ein Prozess oder Task
bezeichnet. Für jeden Prozess ist vom Betriebssystem ein eigener Speicherbereich reser-
viert. Für den quasi gleichzeitigen Ablauf mehrerer Prozesse muss das Betriebssystem
die einzelnen Prozesse immer wieder anhalten und starten. Bei neueren Mehrprozes-
sorsystemen ist heutzutage auch ein tatsächlich gleichzeitiges Bearbeiten mehrerer
Programme bzw. Prozesse möglich. Diese sehr komplexe und anspruchsvolle Thematik
kann hier nur grob angerissen werden. Für detailliertere Erläuterungen möchte ich auf
die zahlreich verfügbare Fachliteratur verweisen. Sie finden z. B. in dem Buch »Java ist
auch eine Insel«, das auch auf der DVD beigefügt ist, ein sehr umfangreiches Kapitel
»Threads und nebenläufige Programmierung«.
14
14.1.2
Was sind Threads?
Auch innerhalb eines Prozesses können in sich geschlossene Abläufe existieren. Ein
Prozess wird dadurch weiter untergliedert in sogenannte Threads . Im Gegensatz zu den
Prozessen verfügen die einzelnen Threads über keine eigenen Speicherbereiche.
Threads teilen sich also den Speicherbereich des jeweiligen Prozesses, zu dem sie gehö-
ren. Für die Verwaltung der Threads ist nicht das Betriebssystem, sondern das Anwen-
dungsprogramm selbst zuständig. Was die Multitasking-Fähigkeiten im Großen für das
gesamte Computersystem darstellt, finden Sie also quasi im Kleinen in der Multithrea-
ding-Fähigkeit einzelner Anwendungsprogramme wieder.
Selbstverständlich stellt Java die Möglichkeit, ein Programm mit mehreren Threads
auszustatten, zur Verfügung. Ein Anwendungsprogramm besteht immer aus mindes-
tens einem Thread. Dieser wird durch die main -Methode gestartet. Sie haben es als Pro-
grammierer in der Hand, zusätzliche Threads zu erzeugen. In welchen Situationen
Threads Sinn ergeben oder vielleicht sogar unbedingt erforderlich sind, sollen Sie in
einem ersten Beispiel erfahren.
Search WWH ::




Custom Search