如何在Java中使集合线程安全?

2023年 8月 31日 61.3k 0

如何在Java中使集合线程安全?

专门处理集合的 java.util 包方法的 Collections 类,这些方法提供了涉及多态算法的各种附加操作。

此类提供了 synchronizedCollection() 方法的不同变体,如下所示 -

3

Sr.No 方法及说明
1 静态集合synchronizedCollection(Collectionc)

此方法接受任何集合对象,并返回由指定集合支持的同步(线程安全)集合。

2 静态列表synchronizedList(List列表)

此方法接受 List 接口的对象,返回由指定列表支持的同步(线程安全)列表。

静态地图synchronizedMap(地图米)

此方法接受 Map 接口的对象,并返回由指定映射支持的同步(线程安全)映射。

4 static SetsynchronizedSet(Set s)

此方法接受 Set 接口的对象,并且,返回由指定集合支持的同步(线程安全)集合。

5 static SortedMap synchronizedSortedMap(SortedMap m)

此方法接受 Map 接口的对象,并返回一个同步的(线程安全)由指定排序映射支持的排序映射。

6 staticSortedSetsynchronizedSortedSet(SortedSets)

此方法接受一个 SynchronizedSortedSet 接口的对象,并返回一个同步(线程安全)排序集按指定的排序集。

示例

 实时演示

import java.util.Collection;
import java.util.Collections;
import java.util.Vector;
public class CollectionReadOnly {
public static void main(String[] args) {
//Instantiating an ArrayList object
Vector vector = new Vector();
vector.add("JavaFx");
vector.add("Java");
vector.add("WebGL");
vector.add("OpenCV");
System.out.println(vector);
Collection synchronizedVector = Collections.synchronizedCollection(vector);
System.out.println("Synchronized "+synchronizedVector);
synchronizedVector.add("CoffeeScript");
}
}

登录后复制

输出

[JavaFx, Java, WebGL, OpenCV]
Synchronized [JavaFx, Java, WebGL, OpenCV]

登录后复制

以上就是如何在Java中使集合线程安全?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论