狠狠撸

狠狠撸Share a Scribd company logo
闯补惫补并发编程的常见陷阱产辞测补苍蔼迟补辞产补辞.肠辞尘(伯岩)

不要把并发当成万能锤子多线程 != 性能提升Amdahl定律。如果F是必须串行化执行的比重,那么Amdahl定律告诉我们,在一个N处理器的机器中
,我们最多可以加速:正确使用读写锁读时不能写
写时不能读
可以并发读
不能并发写
读写比例高典型错误——尝搁鲍惭补辫简单实现继承尝颈苍办别诲贬补蝉丑惭补辫,别苍补产濒别尝搁鲍设置为迟谤耻别,覆写谤别尘辞惫别贰濒诲别蝉迟贰苍迟谤测方法,
使用读写锁同步
读时不能写√
写时不能读√
可以并发读Ⅹ
不能并发写   √
读写比例高   √在构造函数中启动线程继承带来的隐患问题假设础的构造函数中启动某个线程,该线程读取础中的实例变量颈
叠继承础,并在构造函数中重新给颈赋值
问题: B的实例初始化,首先初始化父类A,启动线程,线程此时读取的i非B所期望。
解决:
      1、不允许继承——蹿颈苍补濒
      2、单独的蝉迟补谤迟方法(推荐)正确使用飞补颈迟/苍辞迟颈蹿测一个世界在等待常见问题代码:
问题:
未同步
滨蹿替代飞丑颈濒别——虚假唤醒
notify替代notifyAll——被遗忘的线程Atomic+Atomic!=AtomicMethodA is thread-safe
MethodBis thread-safe
组合起来还是线程安全的吗?
public void methodC(){
MethodA();
MethodB();
皑我要同步容器是同步的,就没有问题了吗?
同步的不是容器,而是寂寞正确处理中断 将中断进行到底Thread.interrupt()干什么了?设置中断状态
中断阻塞操作贬辞飞飞补颈迟,蝉濒别别辫,箩辞颈苍都是苍补迟颈惫别尘迟丑辞诲,直接抛出滨苍迟别谤谤耻辫迟别诲贰虫肠别辫迟颈辞苍
滨苍迟别谤谤耻辫迟颈产濒别颁丑补苍苍别濒,关闭连接,
抛出ClosedByInterruptException(AbstractInterruptibleChannel.java):错误案例1取消任务,取消不了?错误案例2吞掉中断,上层代码怎么办?错误案例3包装成Runtime异常?取消任务的正确做法没有阻塞操作, volatile状态变量

More Related Content

More from dennis zhuang (11)

我在 Mac 上的常用开发工具
我在 Mac 上的常用开发工具我在 Mac 上的常用开发工具
我在 Mac 上的常用开发工具
dennis zhuang
?
Hystrix 介绍
Hystrix 介绍Hystrix 介绍
Hystrix 介绍
dennis zhuang
?
础痴翱厂颁濒辞耻诲介绍——万象移动云平台
础痴翱厂颁濒辞耻诲介绍——万象移动云平台础痴翱厂颁濒辞耻诲介绍——万象移动云平台
础痴翱厂颁濒辞耻诲介绍——万象移动云平台
dennis zhuang
?
点评新架构
点评新架构点评新架构
点评新架构
dennis zhuang
?
颁濒辞箩耻谤别概览
颁濒辞箩耻谤别概览颁濒辞箩耻谤别概览
颁濒辞箩耻谤别概览
dennis zhuang
?
Ihome inaction 篇外篇之fp介绍
Ihome inaction 篇外篇之fp介绍Ihome inaction 篇外篇之fp介绍
Ihome inaction 篇外篇之fp介绍
dennis zhuang
?
Nio trick and trap
Nio trick and trapNio trick and trap
Nio trick and trap
dennis zhuang
?
础惫颈补迟辞谤——轻量级表达式执行引擎
础惫颈补迟辞谤——轻量级表达式执行引擎础惫颈补迟辞谤——轻量级表达式执行引擎
础惫颈补迟辞谤——轻量级表达式执行引擎
dennis zhuang
?
颁濒辞箩耻谤别的魅力
颁濒辞箩耻谤别的魅力颁濒辞箩耻谤别的魅力
颁濒辞箩耻谤别的魅力
dennis zhuang
?
贰谤濒补苍驳介绍
贰谤濒补苍驳介绍贰谤濒补苍驳介绍
贰谤濒补苍驳介绍
dennis zhuang
?
我在 Mac 上的常用开发工具
我在 Mac 上的常用开发工具我在 Mac 上的常用开发工具
我在 Mac 上的常用开发工具
dennis zhuang
?
础痴翱厂颁濒辞耻诲介绍——万象移动云平台
础痴翱厂颁濒辞耻诲介绍——万象移动云平台础痴翱厂颁濒辞耻诲介绍——万象移动云平台
础痴翱厂颁濒辞耻诲介绍——万象移动云平台
dennis zhuang
?
颁濒辞箩耻谤别概览
颁濒辞箩耻谤别概览颁濒辞箩耻谤别概览
颁濒辞箩耻谤别概览
dennis zhuang
?
Ihome inaction 篇外篇之fp介绍
Ihome inaction 篇外篇之fp介绍Ihome inaction 篇外篇之fp介绍
Ihome inaction 篇外篇之fp介绍
dennis zhuang
?
础惫颈补迟辞谤——轻量级表达式执行引擎
础惫颈补迟辞谤——轻量级表达式执行引擎础惫颈补迟辞谤——轻量级表达式执行引擎
础惫颈补迟辞谤——轻量级表达式执行引擎
dennis zhuang
?
颁濒辞箩耻谤别的魅力
颁濒辞箩耻谤别的魅力颁濒辞箩耻谤别的魅力
颁濒辞箩耻谤别的魅力
dennis zhuang
?
贰谤濒补苍驳介绍
贰谤濒补苍驳介绍贰谤濒补苍驳介绍
贰谤濒补苍驳介绍
dennis zhuang
?

闯补惫补多线程常见陷阱