Hi,
ich habe folgende Funktion geschrieben (Ein eigener Thread):
Nun frage ich mich ob das geschickt gelöst ist, oder bekomme ich später (bei mehreren 100 Clients, die online sind (für jeden Client öffne ich zur Zeit jeweils einen Thread)) Probleme mit der Perfomance?
Oder sollte ich einen Thread für alle Clients schreiben, wie ich hier gemacht habe:
Fällt euch noch eine andere Lösungsmöglichkeit ein?
Danke für eure Hilfe
Milan
ich habe folgende Funktion geschrieben (Ein eigener Thread):
Code:
public void run() {
try {
while(clThread.clientOnline()) { // ausführen solange der Client online ist
sleep(60000); // warte 60 sekunden
cl.addTime(1); // erhöhe die Onlinezeit um 1
}
} catch (Exception e) {
server.logStat("Error in TimerThread.run: " + e);
}
}
Nun frage ich mich ob das geschickt gelöst ist, oder bekomme ich später (bei mehreren 100 Clients, die online sind (für jeden Client öffne ich zur Zeit jeweils einen Thread)) Probleme mit der Perfomance?
Oder sollte ich einen Thread für alle Clients schreiben, wie ich hier gemacht habe:
Code:
public void run() {
try {
while(server.isOnline) { // solange der Server online ist...
sleep(60000); // warte 60 sek
Vector nicks = server.returnVector(); // holen den momentan Vector mit den Nicks
for(Enumeration e = nicks.elements(); e.hasMoreElements(); ) {
Client client = (Client)e.nextElement(); // Erstelle Client Objekt
client.addTime(1); // Füge dem Profil eine Minute hinzu
}
}
} catch (Exception e) {
server.logStat("Error in TimerThread.run: " + e);
}
}
Fällt euch noch eine andere Lösungsmöglichkeit ein?
Danke für eure Hilfe
Milan