java怎么创建线程安全的list

2025-04-06 11:20:52

1、1.首先大家会想到用Vector,这里我们就不讨论了,首先讨论的是加锁,例如下面的代码

java怎么创建线程安全的list

2、2.下面是add方法的源代码

java怎么创建线程安全的list

3、3.Collections中有许多这个系列的方法例如

java怎么创建线程安全的list

4、4.主要是利用了装饰者模式对传入的集合进行调用 Collotions中有内部类SynchronizedList

java怎么创建线程安全的list
java怎么创建线程安全的list

5、5.这里上面的mutex就是锁的对象 在构建时候可以指定锁的对象 主要使用synchronize关键字实现线程安全

java怎么创建线程安全的list

6、6.测试

java怎么创建线程安全的list

7、7.两者内部使用的方法都不一样,CopyOnWriteArrayList内部是使用lock进行加锁解锁完成疟觥窖捎单线程访问,synchronizedList使用的是synchronize进行了100000次添加后时间对比如下:

java怎么创建线程安全的list
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢