Java300学习笔记(20)— 容器的同步控制和只读设置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012292754/article/details/86701187

1 同步控制(多线程并发访问集合的线程安全)

  • 常用容器 ArrayList,HashSet,HashMap 等都是线程不安全的;
  • Collections 提供了 synchronizedXxx() 方法,将指 定容器包装成同步;
* synchronizedList()
* synchronizedSet()
* synchronizedMap()
package day04.synread;


import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Demo1 {
    public static void main(String[] args) {

        List<String> list = new ArrayList<>();

        list.add("a");
        list.add("b");
        list.add("c");

        List<String> synList = Collections.synchronizedList(list);
    }
}

2 不可变设置

  • 只读访问,Collections 提供了三种方法;
  • emptyXxx(),空的不可变集合
  • singletonXxx(),一个元素不可变的集合;
  • unmodifiableXxx() 不可变容器;

猜你喜欢

转载自blog.csdn.net/u012292754/article/details/86701187
今日推荐