Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java 线程安全list

作者:此甥孓狠善良   发布日期:2026-05-30   浏览:46

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);
    }
}

解释说明:

  1. Collections.synchronizedList:

    • Collections.synchronizedList 方法返回一个线程安全的 List,它通过在每个方法调用时加锁来确保线程安全。
    • 需要注意的是,虽然单个操作是线程安全的,但在进行复合操作(如迭代)时,仍然需要手动同步整个列表。
  2. CopyOnWriteArrayList:

    • CopyOnWriteArrayList 是 Java 并发包中提供的一个线程安全的 List 实现。
    • 它的工作原理是在每次修改(如添加或删除元素)时创建一个新的底层数组副本,因此读操作不需要加锁,写操作则会加锁并创建新副本。
    • 适用于读多写少的场景,因为写操作的性能开销较大。

上一篇:kotlin转java

下一篇:java创建线程

大家都在看

java url decode

java判断是windows还是linux

java连接数据库的代码

java date类型比较大小

java djl

ubuntu 卸载java

es java api

java list 查找

java 解压rar

jsonobject.tojavaobje

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站