import java.util.Collections;
import java.util.List;
import java.util.ArrayList;
import java.util.concurrent.CopyOnWriteArrayList;
public class ThreadSafeListExample {
// 使用 Collections.synchronizedList 方法来创建线程安全的 List
public static List<String> synchronizedListExample() {
List<String> list = Collections.synchronizedList(new ArrayList<>());
return list;
}
// 使用 CopyOnWriteArrayList 来创建线程安全的 List
public static List<String> copyOnWriteArrayListExample() {
List<String> list = new CopyOnWriteArrayList<>();
return list;
}
public static void main(String[] args) {
// 示例:使用同步列表
List<String> syncList = synchronizedListExample();
synchronized (syncList) {
syncList.add("Element1");
syncList.add("Element2");
}
// 示例:使用 CopyOnWriteArrayList
List<String> cowList = copyOnWriteArrayListExample();
cowList.add("Element1");
cowList.add("Element2");
System.out.println("Synchronized List: " + syncList);
System.out.println("CopyOnWriteArrayList: " + cowList);
}
}
Collections.synchronizedList:
Collections.synchronizedList 方法返回一个线程安全的 List,它通过在每个方法调用时加锁来确保线程安全。CopyOnWriteArrayList:
CopyOnWriteArrayList 是 Java 并发包中提供的一个线程安全的 List 实现。上一篇:kotlin转java
下一篇:java创建线程
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站