JUC是java.util.concurrent包的简称,在Java5.0添加,目的就是为了更好的支持高并发任务。让开发者进行多线程编程时减少竞争条件和死锁的问题
循环插入10000条数据
package com.wyh.thread; import java.util.concurrent.CopyOnWriteArrayList; /** * @program: Thread * @description: JUC并发包下的安全集合 * @author: 魏一鹤 * @createDate: 2022-01-16 18:12 **/ //JUC 安全类型的集合 public class TestJUC { public static void main(String[] args){ //JUC下的安全类型的集合 这个是集合是线程安全带 CopyOnWriteArrayList<String> copyOnWriteArrayList=new CopyOnWriteArrayList<String>(); for (int i = 0; i < 10000; i++) { new Thread(()->{ //循环插入10000条数据 copyOnWriteArrayList.add(Thread.currentThread().getName()); }).start(); } //阻塞1s try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(copyOnWriteArrayList.size()); } }
点开源码会发现它是被volatile(唯一的)和transient(有序的)修饰的,这两个关键字都是JUC下的.保证是有序并且唯一的