Unterschiede zwischen SwingWorker und Executor

8

Ich benutze SwingWorker, um einige Schwerlastaufgaben für eine Anwendung auszuführen, die ich mache. Obwohl ich heute über die Executor-Klasse und dieses Beispiel stolperte:

%Vor%

Kann jemand die Gründe erklären, warum man SwingWorker anstelle des obigen Beispiels verwenden würde? So verwende ich SwingWorker derzeit:

%Vor%     
Giannis 08.01.2012, 18:11
quelle

2 Antworten

7

1) SwingWorker wird als Brücke zwischen Java Essentials Classes und Swing von implements Future erstellt und garantiert, dass outload aus den Methoden process , publish und done auf EventDispatchThread

2) Sie können SwingWorker von Executor aufrufen, dies ist die sicherste Methode, um multithreading in Swing durch implementiert SwingWorker

3) beachten Sie sorgfältig die Nummer oder den Thread, weil Executor sich irgendwie nicht um SwingWorkers life_cycle

kümmert

4) ein weiterer wichtiger Hinweis und < a href="https://stackoverflow.com/a/7679104/714968"> hier

5) für hörende Zustände von SwingWorker müssen Sie PropertyChangeListener

implementieren     
mKorbel 08.01.2012, 18:31
quelle
5

Die SwingWorker verfügt über zusätzliche Methoden process() und done() , die automatisch im Ereignisversand-Thread ausgeführt werden . Dies ist praktisch, wenn Sie Ihren Fortschritt oder die endgültigen Ergebnisse in einer Benutzerschnittstelle anzeigen möchten.

    
Howard 08.01.2012 18:13
quelle

Tags und Links