网易云课堂微专业--Java高级开发工程师--多线程并发编程--学习笔记(二)


猛戳这里快速前往学习笔记(一)

第一章 多线程并发编程

第二节 线程安全问题

1.2.1 线程安全之可见性问题

多线程中的问题
  1. 所见非所得
  2. 无法肉眼去检测程序的准确性
  3. 不同的运行平台有不同的表现
  4. 错误很难重现
从内存结构到内存模型

在这里插入图片描述

工作内存缓存

在这里插入图片描述

指令重排序

在这里插入图片描述

内存模型的含义

在这里插入图片描述

Shared Variables共享变量描述

在这里插入图片描述

线程操作的定义

在这里插入图片描述

对于同步的规则定义

在这里插入图片描述

happens-before先行发生原则

在这里插入图片描述

final在JMM中的处理

在这里插入图片描述

Word Tearing字节处理

在这里插入图片描述

double和long的特殊处理

在这里插入图片描述

volatile关键字总结

在这里插入图片描述

1.2.2 线程安全之原子操作

竞态条件与临界区

在这里插入图片描述

共享资源

在这里插入图片描述

不可变对象

在这里插入图片描述

CAS机制

在这里插入图片描述
有兴趣的童鞋可以了解下Unsafe的源码,类似于直接操作内存的方法。

J.U.C包内的原子操作封装类

在这里插入图片描述

CAS的三个问题

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

1.2.3 JAVA 锁相关

在这里插入图片描述

同步关键字synchronized

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

同步关键字加锁原理

在这里插入图片描述

轻量级锁

在这里插入图片描述

偏向锁到轻量级锁

在这里插入图片描述

重量级锁-监视器(monitor)

在这里插入图片描述

Lock的核心API

在这里插入图片描述

ReadWriteLock

在这里插入图片描述

第三节 J.U.C并发编程包详解

1.3.1 AQS抽象队列同步器

在这里插入图片描述
学习中。。。未完待续

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

假装文艺范儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值