并发编程

  • Java多线程并发【1】并发基础和内存模型

    计算机中,CPU、内存和 I/O 设备的运算速度是有差异的,为了更高效地利用 CPU 的性能,平衡三者的速度差异,计算机系统从各个层面进行了优化: CPU 有单独的缓存区,用来均衡…

    2023年1月30日
    049
  • Java 多线程并发【2】线程

    并发与线程 并发并不一定依赖多线程,比如进程也可以并发。但 Java 中的并发多数都与线程有关。 线程是操作系统中的概念,是比进程更轻量级的调度执行基本单位。主流的操作系统都提供了…

    2023年1月30日
    00
  • Java 多线程并发【3】线程安全

    线程安全比较严谨的定义是: 当多个线程访问一个对象时,如果不考虑这些线程的运行环境下的调度和交替执行,也就不需要进行额外的同步,或者在调用方进行任何其他的协调操作。调用这个对象的行…

    2023年1月30日
    00
  • Java 多线程并发【4】虚拟机锁优化方案

    在线程安全章节说明了线程安全的定义,以及线程安全实现的方案。 线程安全分为不可变、绝对线程安全、相对线程安全、线程兼容和线程对立。 线程安全的实现又划分为互斥同步、非阻塞同步和无锁…

    2023年1月30日
    00
  • Java 多线程并发【5】synchronized

    基础 Java 在虚拟机层面提供了 synchronized 关键字供开发者快速实现互斥同步的重量级锁来保障线程安全。 synchronized 关键字可用于两种场景: 修饰方法。…

    2023年1月30日
    00
  • Java 多线程并发【6】volatile

    在并发基础中我们分析了并发问题的根源是三个问题:原子性、可见性和有序性问题。简单回顾一下这三个特性: 原子性:一个具有原子性的操作应该是不可以被打断的,要么全部不执行,要么全部执行…

    2023年1月30日
    00
  • Java 多线程并发【7】CAS 和原子类

    CAS CAS ,全称 compare and swap ,比较和交换,用于解决多线程并发情况下,使用锁造成性能损耗的一种机制。CAS操作包含三个操作数——内存位置(V)、预期原值…

    2023年1月30日
    00
  • Java 多线程并发【8】LockSupport

    概览 “ 这部分内容来自于这个类的注释,简单翻译了下。 LockSupport 类是用于创建锁和其他同步类的基本线程阻塞原语。 它的实现思想是给每个使用它的线程颁发一个许可,当许可…

    2023年1月30日
    034
  • Java 多线程并发【9】AbstractQueuedSynchronizer

    AbstractQueuedSynchronizer AbstractQueuedSynchronizer 简称 AQS ,抽象队列同步器,用来实现依赖于先进先出(FIFO)等待队…

    2023年1月30日
    00
  • Java 多线程并发 【10】ReentrantLock

    背景 在 Java 中实现线程安全的传统方式是 synchronized 关键字,虽然它提供了一定的同步能力,但它在使用上是严格的互斥同步实现:一个线程只能获取一次锁,没有给其他线…

    2023年1月30日
    00
分享本页
返回顶部