Synchronisation, Wann zu oder nicht zu verwenden?

Ich habe angefangen, Parallelität und Threads in Java zu lernen. Ich kenne die Grundlagen der Synchronisierung (d. H. Was sie bewirkt). Konzeptionell verstehe ich, dass es einen sich gegenseitig ausschließenden Zugriff auf eine gemeinsam genutzte Ressource mit mehreren Threads in Java bietet. Bei einem Beispiel wie dem folgenden bin ich jedoch verwirrt, ob es eine gute Idee ist, es synchronisieren zu lassen. Ich weiß, dass kritische Abschnitte des Codes synchronisiert werden sollten und dieses Schlüsselwort nicht überbeansprucht werden sollte oder die Leistung beeinträchtigt.

<code>public static synchronized List<AClass> sortA(AClass[] aArray) 
{
    List<AClass> aObj = getList(aArray);

    Collections.sort(aObj, new AComparator());

    return aObj;
}

public static synchronized List<AClass> getList(AClass[] anArray) 
{
    //It converts an array to a list and returns
}
</code>

Antworten auf die Frage(6)

Ihre Antwort auf die Frage