Prinzip "Thread"
Forumsregeln
Bitte beachte die Forumsregeln!
Bitte beachte die Forumsregeln!
Prinzip "Thread"
Liebe Community,
es geht um meine ersten Schritte mit dem „thread“-Befehl aus der RoboCode-Programmierung. Ich bin Neuling bei Fischertechnik Robotics, verstehe aber, daß mit einem Thread die Abarbeitung von Unterprogramme parallel stattfinden kann.
Dank des Beispielprogramms ist von dem Verständnis leider aber nicht mehr viel übrig. Kurz zusammengefasst: es werden zwar die beiden Unterprogramme parallel ausgeführt (so soll es sein), danach wird eines der Unterprogramme („Rote LED“) aber noch einmal ausgeführt (das soll nicht sein).
Ausführlicher: zwei LEDs („Rot“ und „Grün“) sollen 5x parallel blinken. Dazu gibt es zwei Unterprogramme (für jede LED eins). Das Blinken ist eine Abfolge von An- und Ausschalten einer jeden LED.
Kann mir jemand aus der Community bei meinem grundsätzlichen Verständnis zum Thema „thread“ helfen?
Vielen Dank im Voraus!
Philipp
es geht um meine ersten Schritte mit dem „thread“-Befehl aus der RoboCode-Programmierung. Ich bin Neuling bei Fischertechnik Robotics, verstehe aber, daß mit einem Thread die Abarbeitung von Unterprogramme parallel stattfinden kann.
Dank des Beispielprogramms ist von dem Verständnis leider aber nicht mehr viel übrig. Kurz zusammengefasst: es werden zwar die beiden Unterprogramme parallel ausgeführt (so soll es sein), danach wird eines der Unterprogramme („Rote LED“) aber noch einmal ausgeführt (das soll nicht sein).
Ausführlicher: zwei LEDs („Rot“ und „Grün“) sollen 5x parallel blinken. Dazu gibt es zwei Unterprogramme (für jede LED eins). Das Blinken ist eine Abfolge von An- und Ausschalten einer jeden LED.
Kann mir jemand aus der Community bei meinem grundsätzlichen Verständnis zum Thema „thread“ helfen?
Vielen Dank im Voraus!
Philipp
- Dateianhänge
-
- Thread_Unterprogrammme Rote LED-Grüne LED.jpg (419.72 KiB) 3188 mal betrachtet
- fishfriend
- Beiträge: 2208
- Registriert: 26 Nov 2010, 11:45
Re: Prinzip "Thread"
Hallo...
Ich hab es nicht 100% durchgedacht, aber das Hauptprogramm hat eine Dauerschleife, wo es immer und immer wieder aufgerufen wird.
Mach mal die Dauerschleife unter Lampe rot.
Mit freundlichen Grüßen
Holger
Ich hab es nicht 100% durchgedacht, aber das Hauptprogramm hat eine Dauerschleife, wo es immer und immer wieder aufgerufen wird.
Mach mal die Dauerschleife unter Lampe rot.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro
TX-Light: Arduino und ftduino mit RoboPro
Re: Prinzip "Thread"
Hallo Philipp,
für mein Verständnis könnte es daran liegen, dass die erneute Ausführung von "LED rot" innerhalb der Dauerschleife 2x aufgerufen wird. 1x per Thread und dann nochmals explizit als Funktion.
Es käme auf den Versuch an die Funktion "Lampe rot" zu entfernen, vielleicht führt dieser Weg zum gewünschten Ergebnis.
Drücke die Daumen!!
Viele Grüße
Norbert
für mein Verständnis könnte es daran liegen, dass die erneute Ausführung von "LED rot" innerhalb der Dauerschleife 2x aufgerufen wird. 1x per Thread und dann nochmals explizit als Funktion.
Es käme auf den Versuch an die Funktion "Lampe rot" zu entfernen, vielleicht führt dieser Weg zum gewünschten Ergebnis.
Drücke die Daumen!!
Viele Grüße
Norbert
Re: Prinzip "Thread"
Dank Euch beiden!
Ich habe den Baustein "Lampe rot" aus dem Hauptprogramm entfernt und nun leuchten beide Lampen so wie gedacht. Ich denke, dass ich mit Euren Kommentaren das Thema "thread" nun verstehe.
Viele Grüße
Philipp
Ich habe den Baustein "Lampe rot" aus dem Hauptprogramm entfernt und nun leuchten beide Lampen so wie gedacht. Ich denke, dass ich mit Euren Kommentaren das Thema "thread" nun verstehe.

Viele Grüße
Philipp
Re: Prinzip "Thread"
Hallo Philipp,
in der Tat, es ist nicht immer ganz einfach mit RBC zu arbeiten. Oftmals setzt man etwas voraus, glaubt es funktioniert alles und dann, ja dann beginnt das grübeln.
Um so mehr freut es mich zu hören/lesen, dass der Tipp erfolgreich war.
Ein schönes Wochenende und weiterhin viele spannende Momente mit RBC.
Norbert
in der Tat, es ist nicht immer ganz einfach mit RBC zu arbeiten. Oftmals setzt man etwas voraus, glaubt es funktioniert alles und dann, ja dann beginnt das grübeln.
Um so mehr freut es mich zu hören/lesen, dass der Tipp erfolgreich war.
Ein schönes Wochenende und weiterhin viele spannende Momente mit RBC.
Norbert
Re: Prinzip "Thread"
RoboPro coding offers only a subset of Python and also of threading.
Hereby some links about threading with Python:
https://www.simplifiedpython.net/python ... g-example/
https://docs.python.org/3.5/library/threading.html#
https://superfastpython.com/threading-in-python/
threads versus processes
https://www.pythontutorial.net/python-c ... d-threads/
concurrency-programming
https://thetechnician.substack.com/p/co ... -in-python
Hereby some links about threading with Python:
https://www.simplifiedpython.net/python ... g-example/
https://docs.python.org/3.5/library/threading.html#
https://superfastpython.com/threading-in-python/
threads versus processes
https://www.pythontutorial.net/python-c ... d-threads/
concurrency-programming
https://thetechnician.substack.com/p/co ... -in-python
Re: Prinzip "Thread"
Hallo,
betreffend dem korrigiertem RP-Coding Programm von PhilippS ergibt sich meinerseits die Frage:
"Was passiert wenn ich z.B. "Grün" auf 8 Wiederholungen setze und "Rot" mit 5 Wiederholungen beibehalte"?
Wird "Rot" dann automatisch übersprungen und "Grün" anschließend dreimal allein ausgeführt ?
betreffend dem korrigiertem RP-Coding Programm von PhilippS ergibt sich meinerseits die Frage:
"Was passiert wenn ich z.B. "Grün" auf 8 Wiederholungen setze und "Rot" mit 5 Wiederholungen beibehalte"?
Wird "Rot" dann automatisch übersprungen und "Grün" anschließend dreimal allein ausgeführt ?
Re: Prinzip "Thread"
Hallo,
betreffend dem korrigiertem RP-Coding Programm von PhilippS ergibt sich meinerseits die Frage:
"Was passiert wenn ich z.B. "Grün" auf 8 Wiederholungen setze und "Rot" mit 5 Wiederholungen beibehalte"?
Wird "Rot" dann automatisch übersprungen und "Grün" anschließend dreimal allein ausgeführt ?
betreffend dem korrigiertem RP-Coding Programm von PhilippS ergibt sich meinerseits die Frage:
"Was passiert wenn ich z.B. "Grün" auf 8 Wiederholungen setze und "Rot" mit 5 Wiederholungen beibehalte"?
Wird "Rot" dann automatisch übersprungen und "Grün" anschließend dreimal allein ausgeführt ?
Re: Prinzip "Thread"
PhilippS hat geschrieben: ↑27 Feb 2025, 14:47Liebe Community,
es geht um meine ersten Schritte mit dem „thread“-Befehl aus der RoboCode-Programmierung. Ich bin Neuling bei Fischertechnik Robotics, verstehe aber, daß mit einem Thread die Abarbeitung von Unterprogramme parallel stattfinden kann.
Dank des Beispielprogramms ist von dem Verständnis leider aber nicht mehr viel übrig. Kurz zusammengefasst: es werden zwar die beiden Unterprogramme parallel ausgeführt (so soll es sein), danach wird eines der Unterprogramme („Rote LED“) aber noch einmal ausgeführt (das soll nicht sein).
Ausführlicher: zwei LEDs („Rot“ und „Grün“) sollen 5x parallel blinken. Dazu gibt es zwei Unterprogramme (für jede LED eins). Das Blinken ist eine Abfolge von An- und Ausschalten einer jeden LED.
Kann mir jemand aus der Community bei meinem grundsätzlichen Verständnis zum Thema „thread“ helfen?
Vielen Dank im Voraus!
Philipp
Es klingt so, als ob der rote LED-Thread nicht richtig gestoppt wird. Achte darauf, dass der Thread nach dem Blinken korrekt beendet wird, damit er nicht nochmal startet.
Hoffe, das hilft