Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Geplante Ereignisse mit Timerthreads

Frage Entwicklung Java

Mitglied: cranach

cranach (Level 1) - Jetzt verbinden

07.12.2008, aktualisiert 21:27 Uhr, 4514 Aufrufe, 2 Kommentare

Wie setze ich Priorität von Timertask

Hallo,
ich habe eine Tabelle mit den Spalten Veranstaltung, Datum, Uhrzeit und Priorität.
Mein Java-Programm muß zu den dazugehörigen Datum und Uhrzeiten den Namen der Veranstaltung ausgeben.
Ich habe schon sehr viel über Threads gelesen aber sehr weit bin ich nicht gekommen. Ich weiss nicht mal, ob die Idee, das ganze mit Timern zu lösen, richtig ist. Nun habe ich das Problem mit den Prioritäten. Ich kann für die Timer keine Prioritäten setzen. Muß ich etwa das Programm umgestalten und eine Klasse Timer die Schnittstelle Runnable implementieren lassen?
Im Moment sieht mein Programm so aus.
Bin dankbar für jeden Verbesserungsvorschlag

import java.sql.*;
import java. util . Date ;
import java. util . Timer ;
import java. util . TimerTask ;

class Task extends TimerTask implements Runnable
{
static Connection con;
static ResultSet r;
static Statement stmt;
static String drv = "sun.jdbc.odbc.JdbcOdbcDriver";
static String url = "jdbc:odbc:herhangibirsey";
static Timer[] time=new Timer[10];
static TimerTask[] task=new TimerTask[10];
static Thread[] thread=new Thread[10];
static String ereignis;

public static void main(String []args){

try{
Class.forName(drv);
con=DriverManager.getConnection("jdbc:odbc:MS Access Database");
stmt=con.createStatement();

}
catch(Exception ex){
ex.printStackTrace();
}

try{
r=stmt.executeQuery("Select * "+"From Ereignisliste");
int i=0;
while(r.next()){
time[i] = new Timer();
task[i] = new Task ( ) ;
thread[i] =new Thread(task[i]);
Date datum=r.getDate(1);
ereignis=r.getString("Ereignis");
int priorität=Integer.parseInt(r.getString("Priorität"));
thread[i].setPriority(priorität);
time[i].schedule(task[i],datum);
i++;

}
}
catch(Exception ex){
ex.printStackTrace();
}
}

public void run(){

System.out.println(ereignis);
}
}
Mitglied: filippg
07.12.2008 um 20:00 Uhr
Hallo,

warum willst du denn für jedes Ereignis einen eigenen Timer erstellen?
Gängig sind m.E. nach zwei Methoden:
1. Es gibt einene Timer, der zu Beginn jeder Minute ausgeführt wird, und dann checkt, ob es für diese Minute ein Ereignis gibt - sehr einfach zu implementieren.
2. Beim Start wird der Timer mit dem ersten Ereignis initialisiert. Wenn er das ausgeführt hat wird geschaut, wann das nächste Ereignis ist, und der Timer wird auf dieses Ereignis gesetzt. Schon etwas schwieriger zu implementieren, aber sicher die ressourcenfreundlichste Alternative.

1. hat übrigens den Vorteil, dass du zur Laufzeit jederzeit Änderungen an den Terminen vornehmen kannst, ohne bestehende Timer anpassen zu müssen oder neue zu erzeugen. Bei 2. müsste dazu nur geprüft werden, ob sich das nächste Ereignis geändert hat, bei der von dir angestrebten Implementierung ist es kaum möglich ohne alle Timer neu zu erstellen.

Gruß

Filipp
Bitte warten ..
Mitglied: cranach
07.12.2008 um 21:27 Uhr
danke erstmal.

die erste Lösung könnte ich meistern. Nur wo erfahre ich mehr über tImer?In Büchern wird nur nebenbei was über Timer erzählt. HAbe ich wo möglich bei den scheduleXXX methoden die passende Methode übersehen? Dem Timer muß ich tasks als parameter übergeben.Kann ich den Tasks Prioritäten vergeben?
Gruß
Bitte warten ..
Ähnliche Inhalte
Windows 10
Windows 10 Administrative Ereignisse
gelöst Frage von ex-soldierWindows 103 Kommentare

Hallo gesagt, ich habe da 2 kleine Probleme wo ich nicht weiter komme. 1. Protokollname: System Windows-Fehler beim Schnellstart ...

Windows Server
AD Überwachung nach unterschiedlichen Ereignissen
Frage von WinLiCLIWindows Server3 Kommentare

Hallo zusammen, ich würde gerne unsere AD überwachen nach den folgenden Ereignissen. - Fehlgeschlagene Anmeldeversuche (der User tippt sein ...

Batch & Shell
Windows Ereignisse Tracen und automatisieren?
gelöst Frage von Xanathos57Batch & Shell11 Kommentare

Hallo Administratoren, das ist mein erster Post in eurem Forum, also seid mir nicht böse falls iirgendwas nicht passt ...

Windows Server
DNS-Ereignisse "Beschreibung nicht gefunden"
Frage von pwolf1789Windows Server3 Kommentare

Hallo, zu meinem Problem: - ich habe 2 DCs, DC02 synchronisiert von DC01 - auf beiden ist jeweils ein ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 1 TagApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 1 TagWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 1 TagWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server18 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement16 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...