AI
推荐
模板社区
专题
登录
免费注册
首页
思维导图
详情
并发机制
2023-06-08 17:45:24
5
举报
分享方式
免费使用
AI智能生成
笔记
学习笔记
模版推荐
作者其他创作
大纲/内容
并发基础
创建线程方法
一般四种
Thread继承
Runnable
Callable
有返回值知道结果
线程池
实际1种
调用系统的线程方法
线程状态
初始NEW
RUNNABLED:运行状态
BLOCKED:阻塞状态
WAITING: 等待状态
TIME_WAITING:超时等待状态
TERMINATED:终止状态
start0()
jvm.cpp创建java线程对象
thread.cpp创建os内核线程
set_state(INITIALIZED)<br>sysnc->wait
唤醒后threal->run
启动线程Thread:start
启动内核线程os:start
set_state(RUNNABLE)
notify唤醒线程
线程终止
线程的中断需要外部干预
线程中存在无限循环执行
线程中存在一些阻塞的操作
interrupt方法
InterruptedException异常的抛出并不意味着线程必须终止
直接捕获异常不做任何处理
将异常往外抛出
停止当前线程,并打印异常信息
同步锁
原子性
全部开始,全部结束
count++ 分三步走
多线程走结果就有问题
Synchronized
修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁
静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对象的锁
修饰代码块,指定加锁对象,对给定对象加锁,进入同步代码库前要获得给定对象的锁
锁一行不锁两行
锁对象Lock
Synchronized的原理
对象头(Header)
实例数据<br>(Instance Data)
对齐填充(Padding)
Synchronized锁的升级
竞争情况进行升级
无锁状态
偏向锁状态
轻量级锁状态
重量级锁状态
CAS
可见性
CPU的高速缓存
CPU三级缓存
缓存一致性问题
相互线程能够看见
指令重排序
有序性
Join方法
ExecutorService方式
JMM
内存屏障
MEM_BARRIER
Happens-Before模型
as-if-seria
传递性规则
volatile变量规则
监视器锁规则
start规则
start规则
EMSI缓存一致性
BUS总线
写缓存和无效队列
ReentrantLock
收藏
立即使用
并发机制
收藏
立即使用
MYSQL
收藏
立即使用
设计模式
PO_osgpjw
职业:暂无
去主页
Collect
Get Started
高并发系统架构设计
Collect
Get Started
秒课高并发设计
Collect
Get Started
java并发编程
Collect
Get Started
Java并发
评论
0
条评论
下一页
图形选择
思维导图
主题
补充说明
AI生成
修改AI描述
去编辑
重新生成
提示
关闭后当前内容将不会保存,是否继续?
取消
确定
Document