广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java并发编程之同步容器与并发容器详解
  • 683
分享到

Java并发编程之同步容器与并发容器详解

2024-04-02 19:04:59 683人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

一、同步容器  1、Vector——>ArrayList  vector 是线程(Thread)同步(Synchronized)的,所以它也是线程

一、同步容器

 1、Vector——>ArrayList

  •  vector 是线程(Thread)同步(Synchronized)的,所以它也是线程安全的;
  • Arraylist是线程异步(ASynchronized)的,是不安全的;

在这里插入图片描述

在这里插入图片描述

2、Hashtable——>HashMap

  • Hashtable是synchronized,这意味着Hashtable是线程安全的,多个线程可以共享一个Hashtable;
  • HashMap是非synchronized,这意味着HashMap是非线程安全的;

在这里插入图片描述
在这里插入图片描述

3、Collections集合中——>synchronizedXXX


ArrayList<Object> list = new ArrayList<>();
 Collections.synchronizedList(list);

 HashMap<Object, Object> map = new HashMap<>();
 Collections.synchronizedMap(map);
 
 Set<Object> set = new HashSet<>();
 Collections.synchronizedSet(set);

以synchronizedList为例:synchronizedList返回了SynchronizedList<>(list)),SynchronizedList又是一个内部静态类,该内部静态类中的add()、set()、get()等方法都在方法内部添加了synchronized关键字,如下图:

在这里插入图片描述
在这里插入图片描述 

二、并发容器

 1、CopyOnWriteArrayList

  • 写操作高效率并发并且是线程安全的;
  • 读操作无的ArrayList;

 2、ConcurrentHashMap

  • 是HashMap的一个线程安全的、支持高效并发的版本,使用了锁分段技术来保证线程安全;

到此这篇关于Java并发编程之同步容器与并发容器详解的文章就介绍到这了,更多相关java同步容器与并发容器内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java并发编程之同步容器与并发容器详解

本文链接: https://www.lsjlt.com/news/127753.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java并发编程之同步容器与并发容器详解
    一、同步容器  1、Vector——>ArrayList  vector 是线程(Thread)同步(Synchronized)的,所以它也是线程...
    99+
    2022-11-12
  • Java并发编程之同步容器
    目录简介一、什么是同步容器二、为什么要有同步容器三、同步容器的优缺点四、同步容器的使用场景总结简介 同步容器主要分两类,一种是Vector这样的普通类,一种是通过Collection...
    99+
    2022-11-12
  • Java并发编程之同步容器与并发容器的示例分析
    这篇文章主要为大家展示了“Java并发编程之同步容器与并发容器的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java并发编程之同步容器与并发容器的示例分析”这篇文章吧。一、同步容器&n...
    99+
    2023-06-15
  • Java并发编程之详解CyclicBarrier线程同步
    CyclicBarrier线程同步 java.util.concurrent.CyclicBarrier提供了一种多线程彼此等待的同步机制,可以把它理解成一个障碍,所有先到达这个障碍...
    99+
    2022-11-12
  • Java并发编程同步器CountDownLatch
    CountDownLatch 在日常开发中经常会遇到需要在主线程中开启多个线程去并行执行任务,并且主线程需要等待所有子线程执行完毕后再进行汇总的场景。在 CountDownLatch...
    99+
    2022-11-13
  • java并发编程之同步器代码示例
    同步器是一些使线程能够等待另一个线程的对象,允许它们协调动作。最常用的同步器是CountDownLatch和Semaphore,不常用的是Barrier和Exchanger队列同步器AbstractQueuedSynchronizer是用来...
    99+
    2023-05-30
    java 并发 同步器
  • Java并发编程之ThreadLocal详解
    目录一、什么是ThreadLocal?二、ThreadLocal的使用场景三、如何使用ThreadLocal四、数据库连接时的使用五、ThreadLocal工作原理六、小结七、注意点...
    99+
    2022-11-12
  • Java集合之同步容器详解
    为了方便编写出线程安全的程序,Java里面提供了一些线程安全类和并发工具,比如:同步容器、并发容器、阻塞队列等。 最常见的同步容器就是Vector和Hashtable了,那么,同步容...
    99+
    2022-11-13
    Java 集合 同步容器
  • Java并发编程同步器CountDownLatch怎么用
    今天小编给大家分享一下Java并发编程同步器CountDownLatch怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。...
    99+
    2023-06-30
  • Java并发编程之Executors类详解
    一、Executors的理解 Executors类属于java.util.concurrent包; 线程池的创建分为两种方式:ThreadPoolExecutor ...
    99+
    2022-11-12
  • Java并发编程之LockSupport类详解
    目录一、LockSupport类的属性二、LockSupport类的构造函数三、park(Object blocker)方法 和 park()方法分析四、parkNanos(Obje...
    99+
    2022-11-12
  • 详解Java高并发编程之AtomicReference
    目录一、AtomicReference 基本使用1.1、使用 synchronized 保证线程安全性二、了解 AtomicReference2.1、使用 AtomicReferen...
    99+
    2022-11-12
  • Java并发编程之详解ConcurrentHashMap类
    前言 由于Java程序员常用的HashMap的操作方法不是同步的,所以在多线程环境下会导致存取操作数据不一致的问题,Map接口的另一个实现类Hashtable 虽然是线程安全的,但是...
    99+
    2022-11-12
  • C#并发容器之ConcurrentDictionary与普通Dictionary带锁性能详解
    结果已经写在注释中 static void Main(string[] args) { var concurrentDictionary = new Concurrent...
    99+
    2022-11-12
  • 浅谈Java并发之同步器设计
    前言: 在 Java并发内存模型详情了解到多进程(线程)读取共享资源的时候存在竞争条件。 计算机中通过设计同步器来协调进程(线程)之间执行顺序。同步器作用就像登机安检人员一样可以协...
    99+
    2022-11-12
  • 详解Java并发编程之原子类
    目录原子数组AtomicIntegerArray原子更新器AtomicIntegerFieldUpdater原子累加器LongAdder原子数组 原子数组有AtomicInteger...
    99+
    2023-05-18
    Java并发原子类 Java并发
  • 详解Java并发编程基础之volatile
    目录一、volatile的定义和实现原理1、Java并发模型采用的方式2、volatile的定义3、volatile的底层实现原理二、volatile的内存语义1、volatile的...
    99+
    2022-11-12
  • Java并发编程之ConcurrentLinkedQueue源码详解
    目录一、ConcurrentLinkedQueue介绍二、构造方法三、入队 四、出队五、总结一、ConcurrentLinkedQueue介绍 并编程中,一般需要用到安全的...
    99+
    2022-11-12
  • Java并发编程之Exchanger方法详解
    简介 Exchanger是一个用于线程间数据交换的工具类,它提供一个公共点,在这个公共点,两个线程可以交换彼此的数据。 当一个线程调用exchange方法后将进入等待状态,直到另外一...
    99+
    2022-11-12
  • Java并发编程之JUC并发核心AQS同步队列原理剖析
    目录一、AQS介绍二、AQS中的队列1、同步等待队列2、条件等待队列3、AQS队列节点Node三、同步队列源码分析1、同步队列分析2、同步队列——独占模式源码分析3、同步队列——共享...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作