zoukankan      html  css  js  c++  java
  • Java多线程并发

    线程安全:
        java并发容器之CopyOnWriteArraylist(读多写少)CopyOnWriteArrayList来做容器。这个类和ArrayList最大的区别就是add(E) 的时候。容器会自动copy一份出来然后再尾部add(E)。
            java并发容器之CopyOnWriteArraylist即使写时复制的容器,通俗的说就是当我们网一个容器中添加元素的时候,不直接网当前容器添加,
            而是先将当前容器进行复制,复制出一份新的容器,然后新的容器进行添加元素,添加完后,再将元容器的引用指向新的容器,
            这样做的好吃是我们可以对CopyOnWrite容器机型并发的读,而不需要家锁,因为当前容器不会添加任何元素,所以CopyOnWrie容器也是一种读写分离的思想,地和些不同的容器;
        
        synchronized 和 ReentrantLock区别:
        悲观锁的创建:(synchronized)
            Collection<String> Collection = new Collections.SynchronizedCollection(str);
            是一种并发控制的方法。如果一个线程执行事务的时候,其他县城要想在执行必须等待当前线程把锁释放;
        乐观锁:(重入锁ReentrantLock)递归锁
            它假设多用户并发的事务在处理时不会彼此互相影响,各事务能够在不产生锁的情况下处理各自影响的那部分数据。
            在提交数据更新之前,每个事务会先检查在该事务读取数据后,有没有其他事务又修改了该数据。如果其他事务有更新的话,正在提交的事务会进行回滚。
  • 相关阅读:
    运维面试题之系统运维
    运维面试题之linux编程
    运维面试题之linux基础
    运维面试题之网络
    python 查找日志关键字
    python 数组中数字求和是否为零
    python 时间戳和时间格式互相转换
    Appium环境搭建说明(包括报错处理)
    python操作上级子文件
    去除ufeff的解决方法,python语言
  • 原文地址:https://www.cnblogs.com/czb2580/p/7082322.html
Copyright © 2011-2022 走看看