Synchronizacja, kiedy czy nie używać?
Rozpocząłem naukę współbieżności i wątków w Javie. Znam podstawy synchronizacji (tj. Co robi). Pojęciowo rozumiem, że zapewnia on wzajemnie wykluczający się dostęp do współdzielonego zasobu z wieloma wątkami w Javie. Ale w obliczu przykładu takiego jak poniższy, jestem zdezorientowany, czy dobrym pomysłem jest zsynchronizowanie go. Wiem, że krytyczne sekcje kodu powinny być zsynchronizowane, a to słowo kluczowe nie powinno być nadużywane lub wpływa na wydajność.
<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>