java-forum.org
JBoss Seam
Alter Preis: 39,95 €
Jetzt: 0,00 €

zzgl. Versandkosten

Zurück   java-forum.org > Blogs > Java Snippets

Eine Sammlung von nützlichen Code-Schnipseln
Concurrency
Alt
Bewertung: 4 Stimmen mit einer durchschnittlichen Bewertung von 3,50.

Snippet: SwingWorker

Veröffentlicht: 02.04.2009 um 09:00 von tfa (Java Snippets)
Aktualisiert: 11.04.2009 um 20:03 von tfa
  • In Swing-Anwendungen sollten lang dauernde Aktionen nicht im Event Dispatch Thread (EDT) ausgeführt werden (z.B. in ActionListern). Dies hätte zur Folge, dass die GUI "einfriert", also das Hauptfenster grau wird und nichts mehr anzeigt, solange die Aktion läuft.
  • Solche langen Aktionen müssen in eigenen Threads ausgeführt werden, wenn die GUI nicht blockiert werden soll. Da Swing nicht threadsicher ist, muss bei der Programmierung einiges beachtet werden. Die meisten Manipulationen
...
Angehängte Grafiken
Dateityp: png swingworker.png (11,6 KB, 437x aufgerufen)
Stichworte: gui , swing , swingworker
Benutzerbild von tfa
tfa
Stammbenutzer
Kategorie: Concurrency , Swing
Hits 1953 Kommentare 2 tfa ist offline
Alt

Snippet: Performante Threadsicherheit mit ReadWriteLock

Veröffentlicht: 19.03.2009 um 19:11 von tfa (Java Snippets)
Aktualisiert: 20.03.2009 um 08:34 von tfa
  • ReadWriteLock ist Bestandteil des Java-Concurrency-Frameworks (ab JDK 1.5).
  • Es dient zur Synchronisation von Schreib-/Lesezugriffen auf eine Ressource.
  • Im Gegensatz zur klassischen Synchronisation blockieren sich mehrere gleichzeitg lesende Threads nicht, solange kein Thread schreibend auf die Ressource zugreift.
  • ReadWriteLocks sollte man dann benutzen, wenn es sehr viele lesende und nur relativ wenig schreibende Threads gibt und/oder die Lese-Zugriffe verhältnismäßig lange dauern.
  • Ein
...
Benutzerbild von tfa
tfa
Stammbenutzer
Kategorie: Concurrency
Hits 970 Kommentare 0 tfa ist offline
Alt

Snippet: Synchronisation mit Locks und Conditions

Veröffentlicht: 10.03.2009 um 17:29 von tfa (Java Snippets)
Aktualisiert: 20.03.2009 um 08:35 von tfa
Locks und Conditions sind seit Version 1.5 Bestandteil von Java. Sie bieten eine einfache Alternative zu Object.wait() und Object.notify().
Das folgende Beispiel zeigt, wie zwei Threads mit Hilfe einer Condition miteinander kommunizieren können.

Java Code: Quelltext in neuem Fenster öffnen
1
2
3
4
5
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
...
Stichworte: condition , lock , notify , threads , wait
Benutzerbild von tfa
tfa
Stammbenutzer
Kategorie: Concurrency
Hits 717 Kommentare 0 tfa ist offline
Alt

Snippet: BlockingQueue

Veröffentlicht: 27.02.2009 um 13:17 von tfa (Java Snippets)
Aktualisiert: 20.03.2009 um 08:34 von tfa
Java Code: Quelltext in neuem Fenster öffnen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
 
public class DemoQueue {
 
    private BlockingQueue<String> queue;
    private boolean running = true;
 
    public DemoQueue() {
        this.queue = new LinkedBlockingQueue<String>();
        new Thread(createRunnable()).start();
    }
 
    /** Neues Element der Queue hinzufügen */
    public void
...
Stichworte: blockingqueue , concurrency , queue
Benutzerbild von tfa
tfa
Stammbenutzer
Kategorie: Concurrency
Hits 422 Kommentare 0 tfa ist offline

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:44 Uhr.


Powered by vBulletin® Version 3.8.6 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2
Thanks for Smilies by smilies.4-user.de