150.并发容器

    科技2022-07-12  139

    JUC 1下有一个CopyOnWriteArrayList并发容器

    package zy.thread; import java.util.concurrent.CopyOnWriteArrayList; public class synContainer { public static void main(String[] args) { CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<String>(); for(int i=0; i<10000; ++i) { new Thread(()->{ list.add(Thread.currentThread().getName()); }).start(); } System.out.println("list元素个数:" + list.size()); } }

    CopyOnWriteArrayList之所以线程安全是因为类内部的操作都是加锁的

    CopyOnWriteArrayList内部有一个常量成员lock

    2

    CopyOnWriteArrayList的一些对数据成员操作的成员方法都对lock加锁

    java.util.concurrent ↩︎

    Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据 成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。当一个对象被序列化的时候,transient型变量的值不包括在序列化的表示中,然而非transient型的变量是被包括进去的 ↩︎

    Processed: 0.012, SQL: 8