スレッドセーフを確保するためにJava同時実行でArrayListを置き換える3つの方法

1. JDK1.0によってリリースされたVectorクラスを使用します。これは、基になるメソッドがsynchronizedキーワードを使用しているためです。これは非効率的であり、推奨されません。

  List<String> list=new Vector<>();

2.コレクションクラスの最上位の親クラスCollectionsクラスのsynchronizedList()メソッドを使用します。着信パラメーターは、通常のArraylistです。

List<String> list=new ArrayList<>();
List<String> list2=Collections.synchronizedList(list);

3. JUCのCopyOnWriteArrayListメソッドでは、最下層がコピーオンライトを採用しています(推奨、Vectorよりも高いパフォーマンス)

List<String> list=new CopyOnWriteArrayList<>();

 

おすすめ

転載: blog.csdn.net/Zhongtongyi/article/details/108875684