Hallo,
Da ich gard eine Java Anwendung schreiben muss, habe ich zwei kurze fragen, die mir nicht klar sind (da ich sonst nicht mir Java arbeite):
1)
Ich würde gerne ein nonBlocking weit haben, das irgendwie so aus sieht:
nonBlockingWaitFor(obServeVariable, Timeout);
damit soll der Thread nichtblockierend in den suspend state wechsel,
bis entweder: der Timeout (sprich die Zeit abläuft) eintritt
oder die Variable sich ändert.
Geht sowas? Wie?
2)
Ich habe einen InputStream und einen OutputStream.
Wenn ich in den OutputStream etwas reinschreibe, sollte "Zeitnahe" auf dem InputStream etwas herien kommen.
Jetzt will ich die beiden in eine Methode nach dem Format: public boolean TransmitOutIn(String outputMsg, String* inputMsg, int TimeOutUSeconds = 500);
Dieser Methode übergibt man:
- den outputString der gesendet wird
- eine Referenz auf einen String der die zurück erhaltende Nachricht beinhalten soll (so erfolgreich)
- rückgabe wert des Methode sollte dann ein Indikator sein, ob tatsächlich ein neuer wert zurück erhalten wurde (innerhalb einer gewissen Zeit = Timeout)
Geht soetwas? Wie kann man das sauber implementieren?
Habe hierfür schon eine Class, die per Methode in den OutputStream schreiben kann und ein Event gefeuert wird, wenn etwas in den InputStream kommt.
3)
Da das mit dem Event Überwachen ja einen EigenenThread braucht, wie kann ich dafür sorgen, dass der solange läuft, bis ich das Programm beenden will.
Ich denke dabei an ein (siehe 1) non blocking wait auf einer globalen Variable - aber wie implementiert man eine Globale Variable in Java sauber?
Da ich gard eine Java Anwendung schreiben muss, habe ich zwei kurze fragen, die mir nicht klar sind (da ich sonst nicht mir Java arbeite):
1)
Ich würde gerne ein nonBlocking weit haben, das irgendwie so aus sieht:
nonBlockingWaitFor(obServeVariable, Timeout);
damit soll der Thread nichtblockierend in den suspend state wechsel,
bis entweder: der Timeout (sprich die Zeit abläuft) eintritt
oder die Variable sich ändert.
Geht sowas? Wie?
2)
Ich habe einen InputStream und einen OutputStream.
Wenn ich in den OutputStream etwas reinschreibe, sollte "Zeitnahe" auf dem InputStream etwas herien kommen.
Jetzt will ich die beiden in eine Methode nach dem Format: public boolean TransmitOutIn(String outputMsg, String* inputMsg, int TimeOutUSeconds = 500);
Dieser Methode übergibt man:
- den outputString der gesendet wird
- eine Referenz auf einen String der die zurück erhaltende Nachricht beinhalten soll (so erfolgreich)
- rückgabe wert des Methode sollte dann ein Indikator sein, ob tatsächlich ein neuer wert zurück erhalten wurde (innerhalb einer gewissen Zeit = Timeout)
Geht soetwas? Wie kann man das sauber implementieren?
Habe hierfür schon eine Class, die per Methode in den OutputStream schreiben kann und ein Event gefeuert wird, wenn etwas in den InputStream kommt.
3)
Da das mit dem Event Überwachen ja einen EigenenThread braucht, wie kann ich dafür sorgen, dass der solange läuft, bis ich das Programm beenden will.
Ich denke dabei an ein (siehe 1) non blocking wait auf einer globalen Variable - aber wie implementiert man eine Globale Variable in Java sauber?
Comment