Portal > Foren > Java > Allgemeine Java-Programmierung > Programm warten lassen
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 30.07.2005, 23:33 Nach oben    #1
Basti77
Gast
 
Beiträge: n/a
Standard Programm warten lassen

Hallo,

gibt es ene Möglichkeit ein Javaprogramm eine bestimmte Zeit warten zu lassen, bevor die nächste Anweisung ausgeführt wird? Ich möchte allerdings _keine_ Threads nutzen.

Ich dachte mir ganz naiv, ich lasse einfach eine Schleife x-mal durchlaufen, wenn ich allerdings
PHP-Code:
for(long i=0i<1000000i++)
                {
                    
                } 
mache, dann passiert nichts. Die nächste Anweisung wird genauso schnell ausgeführt wie ohne Schleife. Kanns seins, das der compiler metkt, das da nichts drin ist und das übergeht?

Wie kann ich sowas realisieren? Danke!

Basti
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 31.07.2005, 10:14 Nach oben    #2
Sesselkleber
 
Benutzerbild von sparrow
 
Registriert seit: 17.01.2005
Beiträge: 582
Standard

Du hast Recht.
Der Kompiler merkt, dass die Schleife die du gebaut hast unnütz ist und umgeht sie entweder, oder erkennt bereits im Voraus, dass der Endwert der Variable sicher ist, sie sonst nichtmehr gebraucht wird und setzt sie automatisch auf den Ednwert.
Deine Schleife wird also nich durchlaufen.
Außerdem ist kene schöne Lösung, da du nie weißt wie lange die Schleife braucht um durchlaufen zu werden.


Also, du hast 2 Möglichkeiten die mir auf Anhiebn einafallen:

1. :
PHP-Code:
        try {
            
Thread.sleep(1000);
        } catch (
InterruptedException e) {
            
e.printStackTrace();
        } 
Hiermit weißt du den Thread an 1 Sekunde zu warten. Der übergebene Wert an sleep ist die Anzahl der ms.
Auch das Hauptprogramm kann so warten, immerhin ist es ebenfalls ein Thread.


Möglichkeit Nummer 2:
Du vergleichst in einer Schleife einfach die Anzahl der vergangenen ms mit CurrentTimeMillis(
PHP-Code:
        long millisToWait 1000;
        
long millis System.currentTimeMillis();
        while((
System.currentTimeMillis() - millis) < millisToWait) {
            
// Do nothing
        

In dem Beispielcode ist der Wert von millisToWait der Wert an ms der gewartet wird.

Ich persönlich finde Möglichkeit 1 besser.


Gruß
Sparrow
sparrow ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 31.07.2005, 17:59 Nach oben    #3
Basti77
Gast
 
Beiträge: n/a
Standard

Hallo!

Ich habe eben mal die zweite Lösung ausprobiert. Das passt schonmal! Dankeschön!

Basti
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.08.2005, 07:38 Nach oben    #4
Erfahrener Benutzer
 
Registriert seit: 02.02.2005
Beiträge: 559
Standard

Wenn es nur darum geht die Anwendung eine gewisse Dauer warten zu lassen ist sicherlich die 1. Methode die sauberere! Nur so ne Anmerkung am Rande
Gottzilla ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[C] "Kleines" Problem bei einem einfachen Programm Plankton Sonstige Programmiersprachen 5 28.12.2006 21:15
Jar Programm nutzen Jepse Desktop-Applikationen und Grafik 11 02.12.2005 17:55
Einfaches Programm - nur wie ?! magicforum Allgemeine Java-Programmierung 1 02.01.2005 17:49
Konsolenbefehl unter Linux in Programm einbauen Nicole66 Allgemeine Java-Programmierung 4 03.12.2004 10:07
fremdes Programm aus Java aufrufen miri Allgemeine Java-Programmierung 1 19.11.2004 18:49


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:57 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45