![]() |
[Java] Threads
Ich habe folgenden Code:
Code:
Wie man an dem Kommentar sieht, erzeugt openServer automatisch einen eigenen Thread. (Wenn ich das richtig verstanden habe.) Was mich jetzt interessiert ist die while-Schleife. Warum wird da nicht ständig "Stoppen mit 'STOP':" ausgegeben, sondern nur einmal? Und wenn man dann STOP eingibt, wird die Schleife verlassen. Es funktioniert also so, wie ich es mir vorstelle. Nur warum tut es das?
public void RunServer() {
synchronized (this) { log("Methode 'RunServer'"); log("openServer"); ObjectServer db4oServer = Db4o.openServer("demo.yap", 4488); log("grantAccess"); db4oServer.grantAccess("user", "pass"); // We only need low priority since the db4o server has // it's own thread. Thread.currentThread().setName(this.getClass().getName()); Thread.currentThread().setPriority(Thread.MIN_PRIORITY); try { this.notifyAll(); while (!stop) { this.notify(); ConsoleIO con = new ConsoleIO(); String s = con.promptAndReadString("Stoppen mit 'STOP': "); if (s.equalsIgnoreCase("STOP")) stop = true; this.wait(1); } } catch (Exception e) { e.printStackTrace(); } log("close"); db4oServer.close(); } } |
Re: [Java] Threads
Zitat:
Oder hab ich da jetzt was falsch verstanden? :gruebel: |
Re: [Java] Threads
Zitat:
Ist ansonsten an dem Code etwas auszusetzen oder ist das in Ordnung so? |
Re: [Java] Threads
Ich muß mich auch erst seit kurzem ernsthafter mit Java auseinandersetzen, und habe - außer trivialen Beispielen - mit Threads noch nicht besonders viel gearbeitet, aber spontan würde ich sagen, der Code sieht doch gut aus ;)
|
Re: [Java] Threads
Ah, noch ein Leidensgenosse. ;)
|
Re: [Java] Threads
Hier ist noch ein gezwungener Freiwilliger ;)
|
Re: [Java] Threads
Zitat:
Nachdem ich jetzt etwas mehr damit gearbeitet habe, finde ich Java inzwischen eigentlich sogar ganz nett ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz