If-Sätze in Threads

Status
Nicht offen für weitere Antworten.

Developer_X

Top Contributor
Hi, also ich will dass jede tausendstel sekunde abgefragt wird ob ein String "s" ist.
Java:
(new Thread()
{
@Override public void run()
{
while(!isInterrupted())
{      	              
//////////////////////////////////////////////
String s = //hier wie das dann sein wird(also s = Inhalt.of.Datei_X usw...)
if(s.equals("s")
{
System.out.println("Ja der string s, hat den Inhalt 's'");
}
//////////////////////////////////////////////	   				
try
{
sleep(1);
}
catch(InterruptedException e)
{
interrupt();
}
}
}
}
).start();
Hier erstmal mein Code. Ihr werdet euch sicherlich fragen, warum ich das in einem Thread abfragen will.
Ich schreibe gerade ein programm, und dieses verändert eine Datei, wenn man auf einen Button klickt,
nun soll jede tausendstel sekunde das andere Programm checken ob was passiert ist, versteht ihr?

Leider funktioniert dies aber nicht in meinem Code, kann mir da einer weiterhelfen, ?
Was mache ich eventuell falsch?
 

diggaa1984

Top Contributor
was funktioniert denn nich!? ... aber ich find "jede tausendsel sekunde" schon recht heftig ... warum denn in einer derart absurd hohen frequenz? :D
Busy waiting sollte man wenn möglich vermeiden
 

Noctarius

Top Contributor
Cool also die If-Schleife kannte ich ja jetzt doch schon, ne If-Clause ist mir auch bekannt, die If-Abfrage bzw If-Bedingung sogar geläufig aber einen If-Satz werde ich meiner persönlichen Sammlung noch hinzufügen müssen :D
 

Noctarius

Top Contributor
Weil das eine Interprocess-Connection erforderlich machen würde. Fang mal an zu erklären wie das geht ;)
 

Developer_X

Top Contributor
@Ark,
ich will das für mein 3D Spiel machen, wenn eine Taste berührt wird, soll die Figur eine laufende sein, wenn keine Taste gedrückt wird, soll die figur stehen, dass die Programme zusammen kommunizieren habe ich schon des öfteren versucht, aber keine lösung gefunden, da kam ich einfach auf die idee, ich send wenn etwas gedrückt ist dies zu einer datei, und ne anderes Programmm guckt alles tausendstel Sekunden, ob die datei geändert wurde, wenn ja usw...

verstehst du, und dies ist ein simpler weg, deshalb schlage ich diesen ein
 

faetzminator

Gesperrter Benutzer
Wie wärs mit Sockets? Und einem Server/Client System (in welchem durchaus aus auch ein Client den Server spielen könnte)? So machen das zumindest (fast/hoffentlich/...) alle Multiuser/Netzwerk Games
 

Illuvatar

Top Contributor
@Ark,
ich will das für mein 3D Spiel machen, wenn eine Taste berührt wird, soll die Figur eine laufende sein, wenn keine Taste gedrückt wird, soll die figur stehen, dass die Programme zusammen kommunizieren habe ich schon des öfteren versucht, aber keine lösung gefunden, da kam ich einfach auf die idee, ich send wenn etwas gedrückt ist dies zu einer datei, und ne anderes Programmm guckt alles tausendstel Sekunden, ob die datei geändert wurde, wenn ja usw...

verstehst du, und dies ist ein simpler weg, deshalb schlage ich diesen ein
Halt. Stop.

Nur dass ich dich richtig verstehe: du findest keinen Weg, von einem Programmteil in einen anderen zu kommunizieren, ob eine Taste gedrückt wird - und dann willst du das in eine Datei schreiben???
Oder? Wieso sollten das 2 verschiedene Programme sein, eins das die Tastatureingaben empfängt und eins fürs 3d?

Wenn du auf Tastendruck etwas in deinem 3D-Programm verändern willst, verwende einen eigenen Behavior zusammen mit einem WakeupOnAWTEvent oder in diesem Fall gleich einen KeyNavigatorBehavior.

Edit: Oder auch mit einem gescheiten MVC-Modell und KeyListenern, ist anscheinend auch erlaubt, aber da hab ich irgendwie grad so meine Zweifel dass das was wird...
 

Ark

Top Contributor
Liege ich richtig mit der Annahme, dass beide Programme von dir sind? Und wenn ja: warum operierst du schon mit mehreren Programmen, wenn dir (wahrscheinlich) Multithreading noch ein Fremdwort ist?

Ark
 

0x7F800000

Top Contributor
@Ark,
ich will das für mein 3D Spiel machen, wenn eine Taste berührt wird, soll die Figur eine laufende sein, wenn keine Taste gedrückt wird, soll die figur stehen, dass die Programme zusammen kommunizieren habe ich schon des öfteren versucht, aber keine lösung gefunden, da kam ich einfach auf die idee, ich send wenn etwas gedrückt ist dies zu einer datei, und ne anderes Programmm guckt alles tausendstel Sekunden, ob die datei geändert wurde, wenn ja usw...
13.gif

...
13.gif

...
26.gif

...
18.gif

...
12.gif

...
69.gif

...
2.gif
 
Zuletzt bearbeitet:

Marco13

Top Contributor
Andrey, ein bißchen konstruktivere Beiträge solltest du schon bringen. Mir würde da schon was einfallen: Wenn man einen Drucker so aufstellt, dass das bedruckte Papier im Einzugsschacht eines Scanners landet ... :reflect:
 

diggaa1984

Top Contributor
und der scanner is immer aktiv und scannt immer hin und her irgendwann is dann doch mal n bild erkannt worden?! ^^
 

0x7F800000

Top Contributor
Andrey, ein bißchen konstruktivere Beiträge solltest du schon bringen. Mir würde da schon was einfallen: Wenn man einen Drucker so aufstellt, dass das bedruckte Papier im Einzugsschacht eines Scanners landet ... :reflect:
genial^^ :lol:
Dagegen wirken die Vorschläge mit den Umwegen
Code:
prog1 -> gui -> roter klecks auf dem bildschirm -> screenshot -> prog2
prog1 -> gui -> roter klecks auf dem 2. bildschirm -> webcam -> prog2
prog1 -> piepton -> micro -> prog2
prog1 -> email -> prog2
prog1 -> servlet benachrichtigen -> beim servlet per http nachfragen -> prog2
taste X gedrückt in prog1 -> messagebox "bitte taste X drücken" -> mit prog 2 normal auf tastendruck reagieren
plump und übertrieben konstruiert, was sie auch sind^^ Das mit dem Drucker+Scanner ist natürlich wesentlich geiler :toll:
Der kollege hier macht's vor: So geht's!
 
Zuletzt bearbeitet:

0x7F800000

Top Contributor
:lol: mein favorit
Hat auch noch den vorteil, dass man das Spiel gewissermaßen mit der Stimme steuern kann ;)
Ich überleg mir grad, wie man da brieftauben ins programm mit rein integrieren könnte^^
Code:
try{
   sendTaube(new Message(key));
}catch(TaubeUnterwegsVerrecktException e){
   ...//trauern
}catch(BriefVerlorenException e){
   ...//zurückschicken
}catch(BriefVerschlucktException e){
   ...//schlachten, brief rekonstruieren
}catch(GeplanteFlugzeitExpiredException e){
   ...//hoffen, dass bei der nächsten nachfrage die erste exception geworfen wird^^
^}
 
Zuletzt bearbeitet:

diggaa1984

Top Contributor
gut genug offtopic ^^

ich würd aber gern mal wissen was diese 2 vermeindlich verschiedenen Programme im Einzelnen machen. Kannst da mal was sagen DevX? Mir scheint ja auch, dass diese 2 Programme eigentlich mal ein größeres darstellen sollten.
 

0x7F800000

Top Contributor
gut genug offtopic ^^
Hm, nunja, was soll man denn da zum Topic noch großartig sagen?
Sollen wir gleich zum "Verwirf diesen völlig durchgeknallten Hack und lies dir die Insel durch"-Part übergehen? ;)
Also, die grundlegende Idee an sich ist ja schon derart gruselig, dass daran einfach nichts auszubessern ist...:noe:
 

babuschka

Top Contributor
@DeveloperX:

Das war absehbar.
Normalerweise zeigt ein Vorgehen besonders einen Sachverhalt klar und deutlich auf:
Dass die Grundarchitektur deines Programms mangelhaft bis ungenügend ist.

Die Ursache dafür?

Nun, die liegt meiner Meinung daran, dass einfach fleißig drauf los programmiert wurde, ohne einen einzigen Gedanken daran zu verschwenden, wie das Ganze später einmal zusammenarbeiten soll... Dir sollte doch auch aufgefallen sein, dass diese "Lösung" für dieses Problem einfach unnötig komplex ist, oder?

Daher mein Tipp: Lies dir ein paar Tutorials. Du tust das nicht für uns, sondern für dich. Also tu es doch bitte.
 

cover1012

Aktives Mitglied
Hm, nunja, was soll man denn da zum Topic noch großartig sagen?
Sollen wir gleich zum "Verwirf diesen völlig durchgeknallten Hack und lies dir die Insel durch"-Part übergehen? ;)
Also, die grundlegende Idee an sich ist ja schon derart gruselig, dass daran einfach nichts auszubessern ist...:noe:

Obwohl ich zugeben muss, dass DevX hier (wahrscheinlich unfreiwillig) den Forum-Clown macht und seine sehr zahlreichen Beiträge geradezu dazu einladen auf ihn einzuschlagen, sollte ihr vielleicht bedenken, dass der Junge höchstens 14 ist. In diesem Alter ist man ungeduldig und nicht immer belehrbar. (waren wir nicht alle so?). Man sollte Ihm vielleicht auch anrechnen, dass er so begeisterungsfähig ist und immerhin schon relativ lange durchhält. Was ich eigentlich sagen will: hin und wieder ein wenig verarschen find ich ok und amüsant, es sollte aber nicht bösartig werden.:noe:
 

andre111

Bekanntes Mitglied
Naja, in dem Alter, sollte er schon soweit sein, dass er, nach monatelangen Predigten "Er möge doch bitte erst einmal die Grundlagen lernen", versteht, dass das das beste für in wäre.
 

0x7F800000

Top Contributor
sollte ihr vielleicht bedenken, dass der Junge höchstens 14 ist. In diesem Alter ist man ungeduldig und nicht immer belehrbar. (waren wir nicht alle so?). Man sollte Ihm vielleicht auch anrechnen, dass er so begeisterungsfähig ist und immerhin schon relativ lange durchhält.
tun wir ja, tun wir ja, an der Motivation mangelt's dem Developer_X offenbar nicht, da beneide ich den sogar gewissermaßen ;) Aber deswegen wird dieser Ansatz ja nicht besser... Was er hier vorgeschlagen hat ist ja kein kleiner Schönheitsfehler, sondern wirklich total absurd, und zudem ist es nicht mal ersichtlich, durch welche folge von Irrtümern er zu dieser merkwürdige Idee gekommen ist ???:L , man kann sich damit kaum identifizieren, sowas ist halt kein Fehler den "jeder mal gemacht hat" :bahnhof:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Arrays Sätze speichern und einzelne Worte mit Index Angabe auslesen Java Basics - Anfänger-Themen 4
G Mehrere If-else-Sätze der Reihe nach durchlaufen lassen Java Basics - Anfänger-Themen 2
H Sätze über den Scanner einlesen Java Basics - Anfänger-Themen 2
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
C Threads und Swing Java Basics - Anfänger-Themen 9
berserkerdq2 Wo finde ich in der Java Api die Notation zu Threads bezüglich Synchronized? Java Basics - Anfänger-Themen 14
berserkerdq2 Findet eine parallele Verarbeitung in Java bei Threads erst statt, wenn man die Methoden auch synchronized? Und wie sieht bei Conditions aus? Java Basics - Anfänger-Themen 8
B Monitor als Schranke von Threads Java Basics - Anfänger-Themen 20
W Threads Alphabet Java Basics - Anfänger-Themen 20
H Threads Anfänger Java Basics - Anfänger-Themen 17
G Threads parallel laufen Java Basics - Anfänger-Themen 11
B Threads Problem mit mehreren Threads Java Basics - Anfänger-Themen 38
M Threads Java Basics - Anfänger-Themen 12
L Threads Synchronisierung zwischen threads Java Basics - Anfänger-Themen 4
M Threads Java Basics - Anfänger-Themen 2
A Threads Java Basics - Anfänger-Themen 9
A Threads Java Basics - Anfänger-Themen 13
A Threads und .join Java Basics - Anfänger-Themen 14
W Threads starten Java Basics - Anfänger-Themen 2
X Threads Zwei Threads, aber doppelte Ausgabe verhindern (synchronized) Java Basics - Anfänger-Themen 54
J Wieviele threads? Java Basics - Anfänger-Themen 9
J Problem bei seriellem Start von Threads Java Basics - Anfänger-Themen 11
O Threads Java Basics - Anfänger-Themen 2
L Buchungssystem und Threads Java Basics - Anfänger-Themen 2
O Threads - Synchronize(), join(), wait(), notify(), yield() Java Basics - Anfänger-Themen 6
L Klassen NFC Reader und JavaFx Problem -> threads? Java Basics - Anfänger-Themen 2
A Kommunikation zwischen nebenläufigen Threads Java Basics - Anfänger-Themen 4
S Gemeinsame Ressource und Mehrfachinstanziierung von Threads Java Basics - Anfänger-Themen 16
S Verklemmung Threads Java Basics - Anfänger-Themen 11
B Threads 2 Threads gleichzeitig laufen lassen Java Basics - Anfänger-Themen 1
M Threads Threads laufen sequenziell, statt gleichzeitig. Java Basics - Anfänger-Themen 9
M Threads run Methode Java Basics - Anfänger-Themen 4
javajoshi mehrere Threads: Methoden zentral unterbringen Java Basics - Anfänger-Themen 8
javajoshi Problem mit zwei Threads und Arrays (Runnable) Java Basics - Anfänger-Themen 12
L Threads Mit Threads JLabel ändern! Java Basics - Anfänger-Themen 2
K Matrixen berechnen nach Worker Master Paradigma mit Threads Java Basics - Anfänger-Themen 4
S Kleine Frage zu Threads Java Basics - Anfänger-Themen 3
M Mit 2 Threads eine Zahl hochzählen Java Basics - Anfänger-Themen 13
T Threads Synchronisieren Java Basics - Anfänger-Themen 6
D Frage Threads Java Basics - Anfänger-Themen 6
Z Threads Executor Framework - Aufgabe auf n Threads aufteilen Java Basics - Anfänger-Themen 10
Z Threads Threads - Zugriff auf Ressourcen ohne(Lock, Synchronized) Java Basics - Anfänger-Themen 2
kilopack15 Verständnisfrage zur Verwendung von notify() bei Threads Java Basics - Anfänger-Themen 2
kilopack15 Mehrere Threads in einer Klasse Java Basics - Anfänger-Themen 8
H Threads funktionieren nicht Java Basics - Anfänger-Themen 4
J Aufgabe(Threads) richtig verstanden/implementiert Java Basics - Anfänger-Themen 27
R Threads aufeinander warten lassen? Java Basics - Anfänger-Themen 10
T Threads Durch threads gestartete Prozesse killen Java Basics - Anfänger-Themen 2
J Threads Java Basics - Anfänger-Themen 38
D Alte Klausuraufgabe Threads Java Basics - Anfänger-Themen 10
A Threads Threads bestimmte Aufgaben zuweisen... Java Basics - Anfänger-Themen 3
R Threads in JavaFX Java Basics - Anfänger-Themen 3
E Threads Doppelte Threads beenden Java Basics - Anfänger-Themen 4
F Sicheres Zurückmelden aus Threads Java Basics - Anfänger-Themen 0
G Threads zum Thema Threads??? null Ahnung Java Basics - Anfänger-Themen 4
Q Threads Threads in Swing Anwendungen Java Basics - Anfänger-Themen 5
J ConcurrentCalculation Multi Threads in Java Java Basics - Anfänger-Themen 3
P Threads Trotz Threads wird nur 1 Prozessorkern ausgelastet Java Basics - Anfänger-Themen 7
M "restartable" threads Java Basics - Anfänger-Themen 11
M Threads - summieren Java Basics - Anfänger-Themen 13
W Klassen Variable einer anderen Klasse ändern (Threads) Java Basics - Anfänger-Themen 3
E Threads - Programm analysieren Java Basics - Anfänger-Themen 2
E join() bei zwei Threads Java Basics - Anfänger-Themen 2
T Threads Threads richtig synchronisieren Java Basics - Anfänger-Themen 3
D [Concurrency/Threads] Code Umsetzung Schriftlich Java Basics - Anfänger-Themen 2
D Threads Java Basics - Anfänger-Themen 4
M Threads nio Dateien kopieren, Threads und Gui Java Basics - Anfänger-Themen 0
N Verweise auf Variablen in verschiedenen Threads Java Basics - Anfänger-Themen 4
T Java-Threads Java Basics - Anfänger-Themen 0
G Moving Objects with Threads (implements Runnable) Java Basics - Anfänger-Themen 1
F Threads funktionieren auf JPanel nicht Java Basics - Anfänger-Themen 1
M Problem mit Threads Java Basics - Anfänger-Themen 11
M Threads - wo gehören sie hin? Java Basics - Anfänger-Themen 3
S 2D-Spiel mit Threads... Java Basics - Anfänger-Themen 3
J Threads Java Basics - Anfänger-Themen 3
F ExecutorService und offene Threads Java Basics - Anfänger-Themen 3
P Threads Threads nicht nebenläufig Java Basics - Anfänger-Themen 7
M Threads nicht nebenleblaufig Java Basics - Anfänger-Themen 2
B Threads parallel zur main Java Basics - Anfänger-Themen 3
M Threads Java Basics - Anfänger-Themen 2
M Threads, zwei methoden gleichzeitig laufen lassen Java Basics - Anfänger-Themen 4
M Threads und Methodenübergreifender Variablezugriff Java Basics - Anfänger-Themen 2
J Wie handle ich Threads am besten? Java Basics - Anfänger-Themen 2
H Threads Java Basics - Anfänger-Themen 10
B synchronized threads Java Basics - Anfänger-Themen 17
E Mehrmaliges Ausführen eines Threads Java Basics - Anfänger-Themen 5
E Threads Verständnisfrage bzgl. Threads und Sleep Java Basics - Anfänger-Themen 2
T Alle Threads .notify() Java Basics - Anfänger-Themen 13
R Threads Verständnisschwierigkeit Java Basics - Anfänger-Themen 2
J Können mehere Threads parallel eine Datei lesen? Java Basics - Anfänger-Themen 4
G Methoden in Threads wandeln Java Basics - Anfänger-Themen 7
H Threads Java Basics - Anfänger-Themen 17
F Java Concurrency - Threads Java Basics - Anfänger-Themen 4
V Threads Threads synchronisieren Java Basics - Anfänger-Themen 4
T Threads Join() = Block? oO Java Basics - Anfänger-Themen 4
J Threads ArrayList Problem bei Threads Java Basics - Anfänger-Themen 3
C Objekte durchschleifen / Threads Java Basics - Anfänger-Themen 2
J Threads stoppen mit interrupt - Frage dazu Java Basics - Anfänger-Themen 7
N Pingen in Threads Java Basics - Anfänger-Themen 9
B Threads benutzen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen


Oben