Java で並行処理とスレッドの学習を開始しました。私は同期の基本 (つまり、それが何をするか) を知っています。概念的には、Java で複数のスレッドを持つ共有リソースへの相互排他的アクセスを提供することを理解しています。しかし、以下のような例に直面したとき、それを同期させるのが良い考えかどうかについて私は混乱しています. コードのクリティカル セクションを同期する必要があり、このキーワードを過度に使用しないでください。そうしないと、パフォーマンスに影響します。
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
}