Alternative zu nebenläufigen Prozessen

benruzzer

Mitglied
Hallo zusammen,
ich habe folgendens Problem:
-Klasse A ruft Methode 1 aus Klasse B auf
-Diese Methode 1 hat eine potentielle Endlosschleife
-Klasse A soll nun Methode 2 aus Klasse B aufrufen; Programm hängt jedoch in Schleife fest.

Praktisch tritt dieses Problem bei meinem Roboter-Projekt auf Basis des Raspberry PIs auf. Klasse A nimmt Steuerungsbefehle entgegen und wertet diese aus. Anschließend werden passende Methoden aus Klasse B (hier : "Motorsteuerungsverwaltung") aufgerufen. Methode 1 startet Motoren, Methode 2 stoppt Motoren. Die Endloschleife ergibt sich durch städige Abfrage von Drehzahlen und passenden Korrekturen.

Das Problem könnte man bestimmt duch nebenläufige Prozesse lösen, doch der Raspberry Pi ist Ressourchen-mäßig durch den Rest des Programms schon ziemlich ausgelastet. Kennt jemand einen eleganteren Weg ?
Vielen Dank im Vorraus
 

Thallius

Top Contributor
Wo liegt das Problem der Methode 1 eine Referenz auf die aufrufende Klasse mitzugeben und dort eine Mthode "shouldStop()" zu implementieren welche in der Schleife aufgerufen wird?

Wenn Du das Ganze über ein UI machen willst, wirst du aber eh nicht um einen Worker drum herum kommen. Noch dazu ist Multi-Threadding nicht Prozessor belastend.

Gruß

Claus
 

Jardcore

Top Contributor
Das Programm soll in der Endlosschleife verbleiben?
Du könntest mit dem Observer Pattern arbeiten.
Heißt Klasse A beobachtet Klasse B, wenn Klasse B nun etwas bestimmtes macht wird Klasse A davon in Kenntnis gesetzt und kann eine Aktion ausführen.
Die Schleife müsste dann aber wohl angehalten werden und nach der Aktion fortgeführt werden. Wenn die Schleife nicht unterbrochen werden soll sollte das gesamte Konzept überdacht werden und wahrscheinlich doch Multi-Threading benutzt werden.
 

benruzzer

Mitglied
Vielen dank für die tipps. Ich habe das Problem nun einfach mit einer weiteren Klassen (zum "Datenaustausch" ) und einem einfachen Thread umschifft. Leider konnt ich noch keine Tests durchführen, da die Sensoren noch nicht gliefert wurden. Sollten Probleme auftreten werde ich mich hier nochmal melden;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Gibt es mittlerweile eine Alternative zu DaisyDiff Allgemeine Java-Themen 2
F Streams als Alternative für dieses Problem ? Allgemeine Java-Themen 15
Zrebna Alternative Darstellung eines Codesnippets Allgemeine Java-Themen 33
W Alternative für Threads Allgemeine Java-Themen 6
Thallius Alternative für SwingWorker Allgemeine Java-Themen 5
J Suche Alternative zu Jasper Reports Allgemeine Java-Themen 4
M Suche Alternative zu JFreeChart Allgemeine Java-Themen 11
D Konstruktor - jedes Objekt einzeln erzeugen - alternative? Allgemeine Java-Themen 8
M DAOs veraltet - was ist die Alternative? Allgemeine Java-Themen 13
MiMa Array umbau oder Alternative? Allgemeine Java-Themen 5
C Alternative zu NetworkX in Java Allgemeine Java-Themen 1
M Alternative zur Serialisierung.. Protobuf? Allgemeine Java-Themen 9
BonoBoo Alternative zum endlosen Instanzieren Allgemeine Java-Themen 2
F Platzsparende Alternative zu .txt-Dateien Allgemeine Java-Themen 12
E Gewollte Endlosschleife unterbrechen oder Alternative gesucht Allgemeine Java-Themen 2
F Alternative sun.jdbc.odbc.JdbcOdbcDriver (Access Datenbank) Allgemeine Java-Themen 2
F alternative zu "JPEGImageDecoderImpl" Allgemeine Java-Themen 2
T Timer oder Alternative? Allgemeine Java-Themen 3
G Alternative zu .properties Dateien Allgemeine Java-Themen 20
S Alternative zu SortedMap? Allgemeine Java-Themen 8
H Alternative zu Stack Allgemeine Java-Themen 3
pikay Jar2Exe Alternative? Allgemeine Java-Themen 17
E javax.comm: Suche eine open source Alternative zu rxtx Allgemeine Java-Themen 8
H Alternative if Schreibweise mit ? Allgemeine Java-Themen 10
G suche Property alternative Allgemeine Java-Themen 4
H Wie schön oder unschön ist dieser code - alternative ? Allgemeine Java-Themen 5
E Viele if Abfragen auf viele Strings --> Alternative zu if Allgemeine Java-Themen 8
G libext Alternative? Allgemeine Java-Themen 5
S Alternative zu Robot (wegen Umlauten) Allgemeine Java-Themen 13
foobar Alternative zu JavaHelp gesucht Allgemeine Java-Themen 2
I Alternative zu getClass().getResourceAsStream() ? Allgemeine Java-Themen 9
D System.setProperty alternative Allgemeine Java-Themen 4
J alternative zu rsh ? Allgemeine Java-Themen 5
K KeyListener-Alternative ohne anfängliches Delay ? Allgemeine Java-Themen 5
G Alternative zu split() Allgemeine Java-Themen 3
K Alternative zu JNI Allgemeine Java-Themen 3
P Alternative zu replaceAll (jdk < 1.4) Allgemeine Java-Themen 14
M Alternative zu Thread : stop() ? Allgemeine Java-Themen 10
M OutOfMemoryError in nebenläufigen Threads Allgemeine Java-Themen 6
S Keine NullPointerExceptions in nebenläufigen Threads Allgemeine Java-Themen 21
Zrebna Automatisiertes Testen von größeren und komplexen Prozessen Allgemeine Java-Themen 56
A Monitoring und Reporting von Prozessen Allgemeine Java-Themen 2
H wait() and notify() mit mehreren Prozessen Allgemeine Java-Themen 14
D ProcessBuilder und Scanner Probleme mit einigen Prozessen Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben