Ich habe begonnen concurency und Threads in Java zu lernen. Ich kenne die Grundlagen von synchronisiert (d. H. Was es tut). Konzeptionell verstehe ich, dass es gegenseitigen exklusiven Zugriff auf eine freigegebene Ressource mit mehreren Threads in Java bietet. Aber wenn ich mit einem Beispiel wie unten konfrontiert bin, ist es eine gute Idee, es synchronisiert zu haben. Ich weiß, dass kritische Abschnitte des Codes synchronisiert werden sollten und dieses Schlüsselwort sollte nicht überstrapaziert werden oder es beeinflusst die Leistung.Synchronisation, Wann oder nicht?
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
}
benötigt, weil Ihre Methoden staatenlos zu sein scheinen. – Luca