Hallo zusammen,
ich habe mir eine Datums,Zeit Klasse gebastelt.
Ich kann ueber get() auf die jeweiligen Werte zugreifen!
Leider macht mir run() sorgen, da ich dort eine while(true) gebaut habe,
die leider 100% CPU saugt. Ich hab da wohl nen Gedanken Fehler, ist die run() eines
Threads nicht selbst ablaufend und zwar stetig???
Hier der Code, hat jemand ne Idee???
gruss + dank im voraus...
ich habe mir eine Datums,Zeit Klasse gebastelt.
Ich kann ueber get() auf die jeweiligen Werte zugreifen!
Leider macht mir run() sorgen, da ich dort eine while(true) gebaut habe,
die leider 100% CPU saugt. Ich hab da wohl nen Gedanken Fehler, ist die run() eines
Threads nicht selbst ablaufend und zwar stetig???
Hier der Code, hat jemand ne Idee???
gruss + dank im voraus...
Code:
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;
/*
* Created on 18.10.2004
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
/**
* @author
* @version 0.1
*
* Die Klasse stellt alle Zeitstempel zur Verfuegung.
* Auf die einzelnen Tage, Minute etc. kann über get() zugegriefen werden.
* Sie ist ein Thread und wird einmalig in dem Konstruktor angestossen,
* danach laeuft Sie in der run() als while- Schleife.
*/
public class PointofTime extends Thread{
// Variablen für die Zeit
private static int Stunde, Minute, Sekunde, Millisekunde;
private static int Jahr,Monat,Woche,Tag;
private static SimpleDateFormat Datum1;
private static GregorianCalendar cal;
/**
* Hier wird der Thread gestartet.
*
*/
public PointofTime(){
cal = new GregorianCalendar();
Datum1 = new SimpleDateFormat();
start();
}
/**
* Es wird in einer Endlosschleife staendig die time() aufgerufen.
*/
public void run(){
while(true){
time();
}
}
/**
* Sie Liest die aktuelle Computerzeit aus und speichert die Werte.
* Der Zugriff erfolgt ueber get().
*
*/
void time(){
Stunde = cal.get(Calendar.HOUR_OF_DAY);
Minute = cal.get(Calendar.MINUTE);
Sekunde = cal.get(Calendar.SECOND);
Millisekunde = cal.get(Calendar.MILLISECOND);
Jahr = cal.get(Calendar.YEAR);
Monat = cal.get(Calendar.MONTH);
Woche = cal.get(Calendar.WEEK_OF_YEAR);
Tag = cal.get(Calendar.DAY_OF_MONTH);
Datum1.applyPattern("yyyyMMddHHmss");
}
/** Sie gibt die aktuelle Stunde aus.
*
* @return Stunde
*/
public static int getStunde(){
return Stunde;
}
/** Sie gibt die aktuelle Minute aus.
*
* @return Minute
*/
public static int getMinute(){
return Minute;
}
/** Sie gibt die aktuelle Sekunde aus.
*
* @return Sekunde
*/
public static int getSekunde(){
return Sekunde;
}
/** Sie gibt die aktuelle Millisekunde aus.
*
* @return Millisekunde
*/
public static int getMillisekunde(){
return Millisekunde;
}
/** Sie gibt das aktuelle Jahr aus.
*
* @return Jahr
*/
public static int getJahr(){
return Jahr;
}
/** Sie gibt den aktuellen Monat aus.
*
* @return Monat
*/
public static int getMonat(){
return Monat;
}
/** Sie gibt die aktuelle Woche aus.
*
* @return Woche
*/
public static int getWoche(){
return Woche;
}
/** Sie gibt den aktuellen Tag aus.
*
* @return Tag
*/
public static int getTag(){
return Tag;
}
/** Sie gibt das aktuelle Datum1 aus.
* In der Form "yyyyMMddHHmss"
*
* @return Datum1
*/
public static SimpleDateFormat getDatum1(){
return Datum1;
}
}