Wo finde ich in der Java Api die Notation zu Threads bezüglich Synchronized?

Nein, ich versteh's nicht ... vielleicht erläuterst du erst mal, was du eigentlich vorhast. Alles und jeden mit synchronized zu belegen, ist kompletter Overkill und ein Performancegrab.
 
Nein, ich versteh's nicht ... vielleicht erläuterst du erst mal, was du eigentlich vorhast. Alles und jeden mit synchronized zu belegen, ist kompletter Overkill und ein Performancegrab.
Nein, also ich musste nur einen einzigen Schleifen durchgang mit synchronized belegen 🙂 Das PRoblem ist, dass ich es nicht gerne mag mir alle Befehle auswendig zu lernen und oft hier:
nachschaue, das darf ich auch in Klausuren nutzen.

Deshalb wollte ich nur sehen, ob hier irgendwo die Befehle für synchronized etc. gespeichert sind
 
Ok, vielleicht fehlt mir da das Verständnis, aber ich werde aus einem synchronisierten Schleifendurchgang nicht schlau. Andere mögen da mehr verstehen.
Java:
ArrayList<String> liste = new ArrayList<>();

synchronized(liste){
    for (String laeufer : liste){
        System.out.println(laufer);
    }
}

Mal als Beispiel, jetzt habe ich nur die Liste, bzw. seinen Durchlauf, synchronisiert und nicht die ganze Methode, in welcher ich den Durchlauf habe.
 
Methoden kosten nicht viel, du kannst ja auch eine schreiben, welche nur genau diesen Durchlauf macht oder eben eine, die nichts anderes macht, als die Liste zu synchronizieren.

Code:
    public List myList() {
        return Collections.synchronizedList(list);
    }
 
Vorsicht:
Java:
public synchronized void alleLaeufer() {
    for (String laeufer : liste){
        System.out.println(laufer);
    }
}
ist nicht das gleiche wie
Java:
public void alleLaeufer() {
    synchronized(liste) {
        for (String laeufer : liste){
            System.out.println(laufer);
        }
    }
}
 

Zurück
Oben