zoukankan      html  css  js  c++  java
  • 6.18Java并发容器

    6.18Java并发容器

    使用JUC并发编程内部的容器--->内部已经实现好了锁定

    package iostudy.synchro;

    import java.util.ArrayList;
    import java.util.concurrent.CopyOnWriteArrayList;
    import java.util.List;

    /**
    * 线程安全:操作JUC并发编程的容器
    * @since JDK 1.8
    * @date 2021/6/18
    * @author Lucifer
    */
    public class SynContainer {
       public static void main(String[] args) throws InterruptedException{
           /*保证的是工作内存和主内存相互写的过程中保证数据安全*/
           CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<String>();
           for (int i=0; i<10000; i++){
               new Thread(() -> {
                   list.add(Thread.currentThread().getName());
              }).start();
          }

           /*线程等待*/
           Thread.sleep(10000);

           /*打印内容*/
           System.out.println(list.size());

      }
    }
    /*
    源码中这个CopyOnWriteArrayList类一开始就拿到了可重入锁
    可重入锁:
    a方法拿到了数据锁可以带入b方法中使用
    属于高级并发编程,后期肯定会使用到的一个容器
    */

     

    It's a lonely road!!!
  • 相关阅读:
    centos7下安装Jdk8、Tomcat8
    CentOS7.3下使用YUM安装MySQL5.6
    数据库表直接生成Excel
    分页工具类
    ResponseUtil
    图片上传
    UUIDUtils
    html和js
    java
    Eclipse启动发生的错误An internal error occurred during: "Initializing Java Tooling".
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/14901002.html
Copyright © 2011-2022 走看看