Hallo,
wie kann ich bei einer statischen Methode am besten threaden?
Hintergrund: Ich hab mir eine Art Messagepipe gecodet. Bei der sich verschiedene Objekte anmelden können. Wenn nun eine Nachricht gesendet wird, werden alle angemeldeten Objekte benachrichtigt (Observerpattern).
Nun ist es so, dass die Meldungen zu "spät" ankommen. Liegt daran, daß die Nachrichten an ein JFrame gesendet werden und das senden der Nachricht selbst nicht in einem seperaten Thread abläuft. Im JFrame aber selbst mach ich das mit den Swingutilities.
Wie kann ich nun in einer statischen Methode (Messenger.send) am besten einen neuen Thread machen?
Anmelden tue ich den JFrame beim MessageObserver der dann dem Messenger hinzugefügt wird.
wie kann ich bei einer statischen Methode am besten threaden?
Hintergrund: Ich hab mir eine Art Messagepipe gecodet. Bei der sich verschiedene Objekte anmelden können. Wenn nun eine Nachricht gesendet wird, werden alle angemeldeten Objekte benachrichtigt (Observerpattern).
Nun ist es so, dass die Meldungen zu "spät" ankommen. Liegt daran, daß die Nachrichten an ein JFrame gesendet werden und das senden der Nachricht selbst nicht in einem seperaten Thread abläuft. Im JFrame aber selbst mach ich das mit den Swingutilities.
Wie kann ich nun in einer statischen Methode (Messenger.send) am besten einen neuen Thread machen?
Code:
public class Messenger {
protected static ArrayList <MessageModul> messageList = new ArrayList();
/** Creates a new instance of Messanger */
public Messenger() {
}
public static void main (String[] args) { }
public static void addMessageModul(MessageModul message) {
messageList.add(message);
}
public static void send(Object object) {
for(MessageModul ms : messageList) {
ms.send(object);
}
}
}
public class MessageObserver extends Observable implements MessageModul {
/** Creates a new instance of MessageObserver */
public MessageObserver() {
}
public void send(Object object) {
setChanged();
notifyObservers( object);
}
}
Anmelden tue ich den JFrame beim MessageObserver der dann dem Messenger hinzugefügt wird.