Exkurs - Threads
Nebenläufige Prozesse (Threads)
Zu jedem Prozess gehört mindestens ein Thread ("Ausführungsstrang"), der Code des Programms ausführt. Hat ein Prozess mehrere Threads so können diese (von mehreren Prozessoren) parallel oder (beim Multitasking eines Prozessors) quasi parallel oder nebenläufig ausgeführt werden. Die einzelnen Threads eines Prozesses laufen in demselben Adressraum und können auf gleiche Daten zugreifen.
Anwendung von Threads in der Robotik
Ein Roboterprogramm kann zum Beispiel zwei Threads starten, wobei ein Programmteil den Fahralgorithmus ausführt und ein anderer (oder mehrere andere) sich gleichzeitig um die Auswertung der Sensorwerte kümmert.
Threads in Java
Im Java-Paket java.lang gibt es die Klasse Thread die über die öffentliche Methode start() verfügt:
Thread |
---|
... |
+ start() |
Um einen eigenen Thread zu programmieren, muss eine eigene Klasse geschrieben werden, die die Eigenschaften von der Thread-Klasse erbt. Der vom eigenen Thread auszuführende Code muss in einer Methode run() implementiert werden:
MyThread |
---|
... |
+ run() |
Die run-Methode wird beim Aufruf der (geerbten) Methode start() automatisch aufgerufen.