Herunterladen Inhalt Inhalt Diese Seite drucken

Main-Threads; Prioritätssteuerung - Conrad C-Control II Unit Handbuch

Kompakter steuerungscomputer
Inhaltsverzeichnis

Werbung

5 Programmiersprache C2
Beispiel:
thread blink2
{
ports.set(2,-1);
sleep 200;
ports.set(2,0);
sleep 800;
}

5.9.2 main-Threads

Ein Thread, dessen Bezeichner nicht "main" ist, hat zum Programmstart die Priorität 0, d.h.
er befindet sich im Stillstand, seine Anweisungen werden nicht ausgeführt.
Jedes Modul kann einen main-Thread enthalten, also einen Thread mit dem Bezeichner
"main". Dieser hat bei Programmstart die Standardpriorität 32. Seine Anweisungen wer-
den von Beginn an ausgeführt. Die Aufgabe der main-Threads ist es, Initialisierungen vor-
zunehmen und bei Bedarf andere Threads zu starten.
Ein Programm sollte mindestens ein Modul mit einem main-Thread haben. Anderenfalls
steht das gesamte Programm still und wartet endlos auf den run-Befehl (siehe 5.9.3).
5.9.3 Prioritätssteuerung
Die virtuelle Maschine der C-Control II Unit stellt jedem Thread soviel Rechenkapazität zur
Verfügung, wie es seinem Prioritätswert entspricht. Ein Thread mit Priorität 32 kann genau
32 virtuelle Maschinenoperationen hintereinander ausführen, bevor ihn das System unter-
bricht und der nächste Thread an der Reihe ist. Zur Orientierung: die Anweisung
a = b + c;
wird in vier virtuellen Maschinenoperationen ausgeführt, wenn a,b und c vom gleichen
numerischen Datentyp sind:
1. b auf den Stack laden
2. c auf den Stack laden
3. Addition
4. Ergebnis in a speichern
73

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis