• Java后端八股-------并发编程


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

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

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    图中的 synchronized方法如果没有锁,那么可能会有超卖,数据错误等情况。
    加锁之后会按顺序售卖。
    synchronized的底层是monitor。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    线程没有竞争关系的时候,引入了轻量级锁,当需要处理竞争关系的时候一定要用到重量级锁(线程的对象锁)。

    在这里插入图片描述
    在这里插入图片描述
    mark word中重量级锁时,ptr_to_heavyweight_monitor是一个指向monitor的指针。
    在这里插入图片描述
    cas交换是用来保证原子操作的.
    在这里插入图片描述
    👆cas会做交换,交换地址值,这样其他线程就无法获取锁,但是自己的线程内可以多次获取锁(没有竞争关系时)。
    在这里插入图片描述

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

    在这里插入图片描述
    在Java中,轻量级锁(Lightweight Locking)和偏向锁(Biased Locking)是Java虚拟机(JVM)内部实现的锁优化技术,它们旨在提高多线程环境下锁的性能。这些锁策略是JVM自动管理的,通常不需要开发者手动开启或关闭。

    在这里插入图片描述线程里面的工作内存不存在线程安全的问题,共享变量副本是主内存中共享变量的副本,需要通过JMM控制进行save和load在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    👆在上面这段代码中,线程1修改的stop为true,线程2是能读到的,但是线程3while循环却不停止。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    JVM优化导致的重排序。
    实验数据
    在这里插入图片描述
    在这里插入图片描述
    👆这个可以解决问题
    在这里插入图片描述
    👆这个不能组织x在y后执行,不能解决问题。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    AQS的实现类当中,公平锁和非公平锁都有实现。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    一把锁,获取效率很低
    在这里插入图片描述
    每个hash值都有一把锁。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    Linked效率高一点(两把锁),因为可以分别控制输入输出。而array只有一把锁,输入输出同时控制。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    👆可以一直创造线程。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    C语言基础知识点(九)数据类型溢出
    RHCE---搭建博客网站
    ping使用
    video记录视频播放时长
    MFC入门问题(L)
    10款远程办公软件,助你事半功倍,晋升快如闪电
    日期调度器:dbi-tech Solutions Schedule .NET v7
    一篇文章带你了解立仪点激光位移传感器
    Node.js浅学
    IntelliJ Idea常用快捷键列表
  • 原文地址:https://blog.csdn.net/yusude123456/article/details/136744919