Events behandeln

Bit2_Gosu

Bekanntes Mitglied
Hi!

Achtung folgendes Beispiel ist rein theoretischer Natur und muss praktisch gesehen nicht unbedingt Sinn machen.

Ich habe eine Klasse A, die Events von einer Uhr empfängt. Diese Uhr aktualisiert sehr schnell ihre Zeit. Die Klasse A soll aber nur jede Sekunde der Uhr die Zeit der Uhr anzeigen. Jetzt habe ich mir überlegt, wie ich das realisieren könnte:

1) Klasse A lässt einen Thread laufen, der 1 Sekunde langt sleept und nur wenn er nicht sleept, werden empfangene Events behandelt. Was passiert eiegentlich, wenn eine Methode eines Threads aufgerufen wird, der sleept?

2) Wenn ich in Klasse A überlege, ob ich ein empfangenes Event behandele oder ignoriere, schaue ich mir die Differenz zwischen der jetzigen Systemzeit und die Systemzeit der letzten Eventbehandlung an. Nur wenn diese DIfferenz >= 1 Sekunde ist, behandele ich das Event. Hierzu brauche ich keinen Thread.

Was würdet ihr machen und wie würdet ihr die Frage in 1) beantworten?
 
S

SlaterB

Gast
ein Thread ist unabhängig von irgendwelchen Daten, selbst dem Thread-Objekt, auf welches du vielleicht anspielst,
ein Thread muss sein eigenes Thread-Objekt nie verwenden, und dieses kann auch an ganz anderen Programmstellen fast beliebig verwendet werden,
auch bevor der Thread gestartet und nachdem er beendet wurde

wenn aber in einem Thread- oder einem anderen gemeinsamen Objekt verschiedene Threads arbeiten (der der liest bzw. schläft und der der das Event ablegt), dann besser synchronisieren

ich bin für 2., die Events werden doch so oder so ankommen, da ist bisschen long-Rechnen weniger aufwendig als gleich ein ganzer Thread im Programm
 

Bit2_Gosu

Bekanntes Mitglied
Ok, ich hätte auch zu 2 tendiert.

Zu meiner anderen Frage - ich formuliere sie mal um: Was passiert, wenn Objekt A zwei Methoden m1 und m2 hat, wobei in m1 steht: "Thread.sleep()" und in m2 steht: "System.out.println("hallo")". Ich rufe m1 und m2 direkt hintereinander auf (von außerhalb). Wird dann m2 nie ausgeführt, oder wird m2 ausgeführt, wenn der Thread wieder aufgewacht ist?
 
S

SlaterB

Gast
wenn ein Thread wieder aufgewacht ist wird nach der sleep-Zeile weitergemacht, ja, oder im Falle einer Exception entsprechend woanders,
ist dies eine bisher unbekannte Erkenntnis?
hat auch nichts mit Anzahl an Methoden oder wer von wo was aufruft zu tun
 

Bit2_Gosu

Bekanntes Mitglied
hatte einen Denkfehler. Vielen Dank aber für die andere Antwort!

Ich hatte folgendes vergessen: Wenn von einem Thread aus eine Methode eines Objekts aufgerufen wird, in der Thread.sleep() steht, dann schläft ja der Thread von dem aus die Methode aufgerufen wurde. Demnach wird m2 erst ausgeführt, wenn die Schlafphase vorbei ist.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Ical4j - Lazy Loading von Events? Java Basics - Anfänger-Themen 2
D Events verarbeiten Java Basics - Anfänger-Themen 1
nonickatall Erste Schritte Events Dokumentation/Tutorial Java Basics - Anfänger-Themen 1
K die Source eines Events bei verschiedenen Quellen herausfinden Java Basics - Anfänger-Themen 1
M Best Practice Events für jeden, oder für die Allgemeinheit "registrieren"? Java Basics - Anfänger-Themen 5
O Wie Log4J - Ausgaben/Events auffangen?! Java Basics - Anfänger-Themen 3
Thallius Best Practice Events zwischen eigenen Klassen Java Basics - Anfänger-Themen 2
G Events schreiben, solange Programm läuft Java Basics - Anfänger-Themen 6
H [JAVA] NetBeans GUI Builder - Events Java Basics - Anfänger-Themen 10
G Erste Schritte Window Events in Java Java Basics - Anfänger-Themen 6
Y Events auslösen Java Basics - Anfänger-Themen 11
T fenster schliesen und mouse events in einer nicht abstrakten klasse Java Basics - Anfänger-Themen 6
S Dauer eines Events anhandUnterschied berechnen? Java Basics - Anfänger-Themen 3
Nicer Maus Events Java Basics - Anfänger-Themen 2
H Listener und Events entfernen Java Basics - Anfänger-Themen 2
R wieso Nullpoint und was mit Events ? Java Basics - Anfänger-Themen 14
F Reihenfolge in der Events abgearbeitet werden Java Basics - Anfänger-Themen 2
Luk10 Problem mit vielen Timer(-Events) Java Basics - Anfänger-Themen 17
A Events werfen/feuern wenn bestimtm methode ausgeführt wird Java Basics - Anfänger-Themen 3
E import org.eclipse.swt.Events.PaintListener; Java Basics - Anfänger-Themen 1
M Urheber von Events ermitteln Java Basics - Anfänger-Themen 5
S Eigene Events werfen? Java Basics - Anfänger-Themen 6
G Events manuell aulösen Java Basics - Anfänger-Themen 3
C Listener und Events Java Basics - Anfänger-Themen 10
D Events nicht bei den jeweiligen Objekten? Java Basics - Anfänger-Themen 3
G PropertyChangeListener empfängt Events doppelt Java Basics - Anfänger-Themen 5
F Eigene Klasse für Events Java Basics - Anfänger-Themen 10
G Events Java Basics - Anfänger-Themen 8
S Keylistener-Events hochreichen Java Basics - Anfänger-Themen 4
H Problem mit Events bzw. Referenzen Java Basics - Anfänger-Themen 4
H Events Java Basics - Anfänger-Themen 5
G Loop blockt alle Events Java Basics - Anfänger-Themen 7
D Probleme mit key events Java Basics - Anfänger-Themen 6
S Events Java Basics - Anfänger-Themen 11
S MouseListener - Events auf Mouseklick Java Basics - Anfänger-Themen 14
D Events Java Basics - Anfänger-Themen 4
G Events Java Basics - Anfänger-Themen 2
E Events nicht an aufrufendes Objekt schicken Java Basics - Anfänger-Themen 23
R events . usw Java Basics - Anfänger-Themen 6
S winXP -> window-events Java Basics - Anfänger-Themen 2
D [Problem] Events Java Basics - Anfänger-Themen 3
O Java 17 keine Pflicht um Exceptiones zu behandeln? Java Basics - Anfänger-Themen 2
J Socked closed - wie behandeln ? Java Basics - Anfänger-Themen 10
S Rekursives Durchlaufen eines Verzeichnisses - AccessDeniedException behandeln Java Basics - Anfänger-Themen 1
S Groß- und Kleinbuchstaben gleich behandeln Java Basics - Anfänger-Themen 3
V Threads Exception in Thread behandeln Java Basics - Anfänger-Themen 3
G Objekt wie Objekt anderer Klasse behandeln Java Basics - Anfänger-Themen 4
S Benutzereingabe über Scanner Klasse korrekt behandeln Java Basics - Anfänger-Themen 9
J Ausnahmen behandeln aber wie?! Java Basics - Anfänger-Themen 17
J Frame schließen, Ereignis behandeln, Vorgang abbrechen Java Basics - Anfänger-Themen 4
H [Stil] Exceptions in der Klasse behandeln oder throwen? Java Basics - Anfänger-Themen 62
A Text als Link behandeln Java Basics - Anfänger-Themen 8
C Reflection Exceptions behandeln Java Basics - Anfänger-Themen 6
sliwalker CVS-Datei einlesen und Fehler richtig behandeln Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben