Java Warten - ohne Threads?!

berschel

Klamm.tv-Queen
ID: 154978
L
29 April 2006
92
9
Hi ihr Lieben,
hatte nun einige Wochen Zeit ein Projekt zu erstellen (das eigentlich für drei Leute ausgelegt war... sagen wir mal die Programmierkenntnisse meiner "Gruppenmitglieder" sind bescheiden) und bin nun so gut wie fertig. Muss es morgen (Sonntag) abend bis 23.59 Uhr hochgeladen haben.

Es ist ein Programm mit GUI zur Lagerverwaltung (Artikel mit Bestandteilen anlegen, löschen, bestellen, automatisch nachbestellen etc.).
Nun stehe ich vor der allerletzten Hürde:

"Bestellungen durch das System müssen bestätigt werden, bevor sie aufgegeben werden können. Danach dauert es eine gewisse Zeit, bis die bestellten Artikel eintreffen."

Irgendwie klingt das nach Threads!

"Erweiterungen/Modifikationen dieses Projekts:
Das Projekt kann so modifiziert werden, dass
• anstatt der Implementierung einer grafischen Benutzeroberfläche die Implementierung sinnvoller Nebenläufigkeit im Fokus steht. Arbeiten Sie sich gründlich in die Thematik der Threads und Nebenläufigkeit ein (...)"

Irgendwie klingt aber das nach Threads!

Natürlich habe ich eine tolle GUI gezaubert - deshalb hab ich mit Threads gar nix am Hut.
Ist also mit der "gewissen Zeit" bis ein Artikel im Lager eintrifft gemeint, das ganze OHNE Threads zu realisieren?!
Wir haben Java in einem einwöchigen Crashkurs in der Uni gelernt und müssen nun eben dieses Projekt abgeben, bin also noch nicht so der Java-Profi.
Man sagte mir mit Thread.sleep ließe sich das ja "ganz einfach" realisieren, nur schläft dann mein komplettes Programm für eine Minute und das ist wohl nicht der Sinn der Sache...

Ich hoffe, ich finde hier zu so später Stunde noch hilfsbereite Nachtschwärmer :)

Liebe Grüße,
Sandra
 
Zuletzt bearbeitet:
Moin.

Seh ich das richtig, dass du beim ersten "Irgendwie klingt das nach Threads!" ein 'nicht' vergessen hast? Dann macht die Betonung beim zweiten Mal mehr Sinn :biggrin:

Ich würde bei
[...] anstatt der Implementierung einer grafischen Benutzeroberfläche die Implementierung sinnvoller Nebenläufigkeit im Fokus steht.
eh erstmal dumm gucken und nicht wissen, was das bedeuten soll. Liest sich für mich, dass anstelle einer GUI sich das Programm selbstbedienen soll :think:

Mit Thread.sleep() legst du einen Thread schlafen, korrekt. Ganz einfach. Wenn dein Programm aber nur einen Thread hat, dann schläft eben alles.

Sinnvoll wäre z.B. nachdem du den Artikel zur Bestellung aufgegeben hast, ein neuer Thread gestartet wird, der quasi dem Lieferjungen entspricht. Den kannst du ne Minute warten lassen und danach die Bestellung als ausgeliefert markieren. Kp, ob das Sinn der Sache is, aber das wäre ein "sinnvoller" Einsatz von Nebenläufigkeit.


Persönliche Anmerkung:
Wir haben Java in einem einwöchigen Crashkurs in der Uni gelernt
Glückspilz! Uns hat man mehr oder weniger ins kalte Wasser geworfen. "Wir sind kein Java-Programmierkurs. Das müssen Sie schon selber lernen." - die Übungen sind aber trotzdem gleich in der 2. Woche losgegangen mit Aufgaben, die man programmieren und abgeben musste :ugly:
 
Also für mich klingt beides, als ob man mit Threads simulieren soll, dass die Ware erst später eintrifft.

PHP:
new Thread(){
  public void run() {
    Thread.sleep(10 * 1000); // 10 sek warten

    // Artikel treffen ein
    lageranzahl.setLabel(5); // nun sind 5 Irgendwas da
  }
}.start();

so in etwa ;)
sind zwar einige Java-Stilbrüche drin (Zugriff auf GUI nicht in GUI-Thread usw) aber das wird euch an der Uni wahrscheinlich weniger stören.