1.线程安全的HashMap
//ConcurrentHashMap: 并发的HashMap(前提是安全)
//Coolections中也提供了线程安全的Map,只不过锁的是整个hash表
public class Test1 {
public static void main(String[] args) {
Map<String, String> map = new ConcurrentHashMap<String, String>();
for(int i=0;i<16;i++) {
final int temp = i;
new Thread(new Runnable() {
@Override
public void run() {
map.put(Thread.currentThread().getName(), "value:"+temp);
System.out.println(map);
}
}).start();
}
}
}
2.队列
2.1 Queue队列接口
//Queue:队列的接口,特点:先进先出
//LinkedList实现类就实现了该接口
public class Test1 {
public static void main(String[] args) {
Queue<Integer> queue = new LinkedList<Integer>();
/*
//如果没有元素,继续移除,会报异常
queue.add(1);
queue.add(3);
queue.add(2);
System.out.println(queue.element()); //取第一个元素
System.out.println(queue.remove()); //取第一个元素,并移除
*/
//如果队列没有元素,则返回null--推荐
queue.offer(1);
queue.offer(3);
queue.offer(2);
System.out.println(queue.peek()); //取元素不移除
System.out.println(queue.poll()); //取元素并移除
System.out.println(queue);
}
}
2.1 ConcurrentLinkedQueue实现类
//ConcurrentLinkedQueue: 在多线程中,性能最高的并发的队列