Collections.synchronizedMap()
Collections.synchronizedMap()方法来获取一个线程安全的集合(Collections.synchronizedMap()实现原理是Collections定义了一个SynchronizedMap的内部类,这个类实现了Map接口,在调用方法时使用synchronized来保证线程同步,当然了实际上操作的还是我们传入的HashMap实例,简单的说就是Collections.synchronizedMap()方法帮我们在操作HashMap时自动添加了synchronized来实现线程同步,类似的其它Collections.synchronizedXX方法也是类似原理)\’
java.util.Collections.synchronizedSet()方法
synchronizedSet() 方法用于返回一个同步的(线程安全的)有序set由指定的有序set支持。
声明
以下是java.util.Collections.synchronizedSet()方法的声明。
public static <T> Set<T> synchronizedSet(Set<T> s)
参数
-
s–这是一组可以在同步组“包装”。
返回值
-
在方法调用返回指定set的同步视图。
异常
-
NA
例子
下面的例子显示java.util.Collections.synchronizedSet()方法的使用
package com.yiibai;
import java.util.*;
public class CollectionsDemo {
public static void main(String[] args) {
// create set
Set<String> set = new HashSet<String>();
// populate the set
set.add("TP");
set.add("IS");
set.add("FOR");
set.add("TECHIES");
// create a synchronized set
Set<String> synset = Collections.synchronizedSet(set);
System.out.println("Synchronized set is :"+synset);
}
}
现在编译和运行上面的代码示例,将产生以下结果。
Synchronized set is :[FOR, IS, TECHIES, TP]