SlideShare a Scribd company logo
1 of 18
入 题:从 API 说起 实 践:案例分析 资 料:网络资源和书籍 Hoorace@Twitter: 龙浩
juc 中的 API 一览 同步器 (Synchronizer) 同步中的锁机制 Amdahl 定律
 
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
闭锁(  CountDownLatch  ) 信号量(  Semaphore ) 关卡( CyclicBarrier ) 交换器( Exchanger )
Stack-1 Stack-2 Stack-3 Globals Heap
synchronized java.util.concurrent.locks.Lock
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
计算汇总类案例 JMS 分发 生产者消费者模式 邮件发送任务池案例
 
 
 
 
网络资源 书籍
1 : IBM 多线程和并发编程专题: http://www.ibm.com/developerworks/cn/java/j-concurrent/ 2 :并发编程的文献,论文: http://www.cs.chalmers.se/~dcs/ConcurrentDataStructures/
 
Power by : www.longtask.com

More Related Content

What's hot

台南好想工作室-想知道講座-ES6 進入天堂的窄門Promise
台南好想工作室-想知道講座-ES6 進入天堂的窄門Promise台南好想工作室-想知道講座-ES6 進入天堂的窄門Promise
台南好想工作室-想知道講座-ES6 進入天堂的窄門PromiseZenChou2
 
Java多线程设计模式
Java多线程设计模式Java多线程设计模式
Java多线程设计模式Tony Deng
 
Java并发核心编程
Java并发核心编程Java并发核心编程
Java并发核心编程wavefly
 
Reactive X 响应式编程
Reactive X 响应式编程Reactive X 响应式编程
Reactive X 响应式编程Jun Liu
 
Java多线程:驾驭Synchronize的方法
Java多线程:驾驭Synchronize的方法Java多线程:驾驭Synchronize的方法
Java多线程:驾驭Synchronize的方法yiditushe
 
Mysql展示功能与源码对应
Mysql展示功能与源码对应Mysql展示功能与源码对应
Mysql展示功能与源码对应zhaolinjnu
 
OpenResty 项目模块化最佳实践
OpenResty 项目模块化最佳实践OpenResty 项目模块化最佳实践
OpenResty 项目模块化最佳实践Orangle Liu
 
IOS入门分享
IOS入门分享IOS入门分享
IOS入门分享zenyuhao
 
Lucene 全文检索实践
Lucene 全文检索实践Lucene 全文检索实践
Lucene 全文检索实践yiditushe
 
异步编程与浏览器执行模型
异步编程与浏览器执行模型异步编程与浏览器执行模型
异步编程与浏览器执行模型keelii
 
Enqueue Lock介绍.ppt
Enqueue Lock介绍.pptEnqueue Lock介绍.ppt
Enqueue Lock介绍.pptjames tong
 
OpenEJB - 另一個選擇
OpenEJB - 另一個選擇OpenEJB - 另一個選擇
OpenEJB - 另一個選擇Justin Lin
 
Ecma script3
Ecma script3 Ecma script3
Ecma script3 gniavaj
 
Java华为面试题
Java华为面试题Java华为面试题
Java华为面试题yiditushe
 
Java并发编程实践
Java并发编程实践Java并发编程实践
Java并发编程实践sharewind
 

What's hot (20)

台南好想工作室-想知道講座-ES6 進入天堂的窄門Promise
台南好想工作室-想知道講座-ES6 進入天堂的窄門Promise台南好想工作室-想知道講座-ES6 進入天堂的窄門Promise
台南好想工作室-想知道講座-ES6 進入天堂的窄門Promise
 
Java多线程设计模式
Java多线程设计模式Java多线程设计模式
Java多线程设计模式
 
Java并发核心编程
Java并发核心编程Java并发核心编程
Java并发核心编程
 
Ali-tomcat
Ali-tomcatAli-tomcat
Ali-tomcat
 
Jvm内存管理基础
Jvm内存管理基础Jvm内存管理基础
Jvm内存管理基础
 
并发控制
并发控制并发控制
并发控制
 
泛型总结
泛型总结泛型总结
泛型总结
 
Reactive X 响应式编程
Reactive X 响应式编程Reactive X 响应式编程
Reactive X 响应式编程
 
Java多线程:驾驭Synchronize的方法
Java多线程:驾驭Synchronize的方法Java多线程:驾驭Synchronize的方法
Java多线程:驾驭Synchronize的方法
 
Mysql展示功能与源码对应
Mysql展示功能与源码对应Mysql展示功能与源码对应
Mysql展示功能与源码对应
 
OpenResty 项目模块化最佳实践
OpenResty 项目模块化最佳实践OpenResty 项目模块化最佳实践
OpenResty 项目模块化最佳实践
 
IOS入门分享
IOS入门分享IOS入门分享
IOS入门分享
 
Lucene 全文检索实践
Lucene 全文检索实践Lucene 全文检索实践
Lucene 全文检索实践
 
异步编程与浏览器执行模型
异步编程与浏览器执行模型异步编程与浏览器执行模型
异步编程与浏览器执行模型
 
Exodus2 大局观
Exodus2 大局观Exodus2 大局观
Exodus2 大局观
 
Enqueue Lock介绍.ppt
Enqueue Lock介绍.pptEnqueue Lock介绍.ppt
Enqueue Lock介绍.ppt
 
OpenEJB - 另一個選擇
OpenEJB - 另一個選擇OpenEJB - 另一個選擇
OpenEJB - 另一個選擇
 
Ecma script3
Ecma script3 Ecma script3
Ecma script3
 
Java华为面试题
Java华为面试题Java华为面试题
Java华为面试题
 
Java并发编程实践
Java并发编程实践Java并发编程实践
Java并发编程实践
 

Similar to 并发编程实践

并发编程交流
并发编程交流并发编程交流
并发编程交流bluedavy lin
 
Lamp高性能设计
Lamp高性能设计Lamp高性能设计
Lamp高性能设计锐 张
 
高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕ideawu
 
分布式索引系统调研
分布式索引系统调研分布式索引系统调研
分布式索引系统调研zijingyeshao
 
Jdbc4 0 规范技术预研
Jdbc4 0 规范技术预研Jdbc4 0 规范技术预研
Jdbc4 0 规范技术预研lorisjand
 
运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践Li JianYe
 
千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7javatwo2011
 
Crawler pieces
Crawler piecesCrawler pieces
Crawler piecesYue Tian
 
The comet technology on Jetty
The comet technology on Jetty The comet technology on Jetty
The comet technology on Jetty wavefly
 
Ajax Lucence
Ajax LucenceAjax Lucence
Ajax LucenceRoger Xia
 
[Flash开发者交流][2010.05.30]flex开发实践经验谈(谢敏)
[Flash开发者交流][2010.05.30]flex开发实践经验谈(谢敏)[Flash开发者交流][2010.05.30]flex开发实践经验谈(谢敏)
[Flash开发者交流][2010.05.30]flex开发实践经验谈(谢敏)Shanda innovation institute
 
Spring mvc
Spring mvcSpring mvc
Spring mvcpepsixp
 
Golang 高性能实战
Golang 高性能实战Golang 高性能实战
Golang 高性能实战rfyiamcool
 
FeatHub_DataFun_2023.pptx
FeatHub_DataFun_2023.pptxFeatHub_DataFun_2023.pptx
FeatHub_DataFun_2023.pptxDong Lin
 
Web性能测试指标参考v0.2
Web性能测试指标参考v0.2Web性能测试指标参考v0.2
Web性能测试指标参考v0.2beiyu95
 
深入淺出 Web 容器 - Tomcat 原始碼分析
深入淺出 Web 容器  - Tomcat 原始碼分析深入淺出 Web 容器  - Tomcat 原始碼分析
深入淺出 Web 容器 - Tomcat 原始碼分析Justin Lin
 
lua & ngx_lua 的介绍与应用
lua & ngx_lua 的介绍与应用lua & ngx_lua 的介绍与应用
lua & ngx_lua 的介绍与应用hugo
 
深入浅出Netty l.t
深入浅出Netty   l.t深入浅出Netty   l.t
深入浅出Netty l.toleone
 
twMVC#26 | 淺談 ASP.NET Caching 技術與實踐
twMVC#26 | 淺談 ASP.NET Caching 技術與實踐twMVC#26 | 淺談 ASP.NET Caching 技術與實踐
twMVC#26 | 淺談 ASP.NET Caching 技術與實踐twMVC
 

Similar to 并发编程实践 (20)

并发编程交流
并发编程交流并发编程交流
并发编程交流
 
Lamp高性能设计
Lamp高性能设计Lamp高性能设计
Lamp高性能设计
 
高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕
 
分布式索引系统调研
分布式索引系统调研分布式索引系统调研
分布式索引系统调研
 
Jdbc4 0 规范技术预研
Jdbc4 0 规范技术预研Jdbc4 0 规范技术预研
Jdbc4 0 规范技术预研
 
运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践
 
千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7
 
Crawler pieces
Crawler piecesCrawler pieces
Crawler pieces
 
The comet technology on Jetty
The comet technology on Jetty The comet technology on Jetty
The comet technology on Jetty
 
Ajax Lucence
Ajax LucenceAjax Lucence
Ajax Lucence
 
Flex开发实践经验谈(谢敏)
Flex开发实践经验谈(谢敏)Flex开发实践经验谈(谢敏)
Flex开发实践经验谈(谢敏)
 
[Flash开发者交流][2010.05.30]flex开发实践经验谈(谢敏)
[Flash开发者交流][2010.05.30]flex开发实践经验谈(谢敏)[Flash开发者交流][2010.05.30]flex开发实践经验谈(谢敏)
[Flash开发者交流][2010.05.30]flex开发实践经验谈(谢敏)
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Golang 高性能实战
Golang 高性能实战Golang 高性能实战
Golang 高性能实战
 
FeatHub_DataFun_2023.pptx
FeatHub_DataFun_2023.pptxFeatHub_DataFun_2023.pptx
FeatHub_DataFun_2023.pptx
 
Web性能测试指标参考v0.2
Web性能测试指标参考v0.2Web性能测试指标参考v0.2
Web性能测试指标参考v0.2
 
深入淺出 Web 容器 - Tomcat 原始碼分析
深入淺出 Web 容器  - Tomcat 原始碼分析深入淺出 Web 容器  - Tomcat 原始碼分析
深入淺出 Web 容器 - Tomcat 原始碼分析
 
lua & ngx_lua 的介绍与应用
lua & ngx_lua 的介绍与应用lua & ngx_lua 的介绍与应用
lua & ngx_lua 的介绍与应用
 
深入浅出Netty l.t
深入浅出Netty   l.t深入浅出Netty   l.t
深入浅出Netty l.t
 
twMVC#26 | 淺談 ASP.NET Caching 技術與實踐
twMVC#26 | 淺談 ASP.NET Caching 技術與實踐twMVC#26 | 淺談 ASP.NET Caching 技術與實踐
twMVC#26 | 淺談 ASP.NET Caching 技術與實踐
 

More from longhao

手机上的硬件设备及典型App
手机上的硬件设备及典型App手机上的硬件设备及典型App
手机上的硬件设备及典型Applonghao
 
Node.js长连接开发实践
Node.js长连接开发实践Node.js长连接开发实践
Node.js长连接开发实践longhao
 
Vim get start_1.0
Vim get start_1.0Vim get start_1.0
Vim get start_1.0longhao
 
无Ued产品的易用性讨论
无Ued产品的易用性讨论无Ued产品的易用性讨论
无Ued产品的易用性讨论longhao
 
Dean Keynote Ladis2009
Dean Keynote Ladis2009Dean Keynote Ladis2009
Dean Keynote Ladis2009longhao
 
产品部内部交流平台
产品部内部交流平台产品部内部交流平台
产品部内部交流平台longhao
 
借助社会化媒体的个人成长
借助社会化媒体的个人成长借助社会化媒体的个人成长
借助社会化媒体的个人成长longhao
 
高性能网站最佳实践
高性能网站最佳实践高性能网站最佳实践
高性能网站最佳实践longhao
 
软件重构
软件重构软件重构
软件重构longhao
 
透明计算与云计算
透明计算与云计算透明计算与云计算
透明计算与云计算longhao
 
Netputer
NetputerNetputer
Netputerlonghao
 

More from longhao (12)

手机上的硬件设备及典型App
手机上的硬件设备及典型App手机上的硬件设备及典型App
手机上的硬件设备及典型App
 
Node.js长连接开发实践
Node.js长连接开发实践Node.js长连接开发实践
Node.js长连接开发实践
 
Vim get start_1.0
Vim get start_1.0Vim get start_1.0
Vim get start_1.0
 
无Ued产品的易用性讨论
无Ued产品的易用性讨论无Ued产品的易用性讨论
无Ued产品的易用性讨论
 
Dean Keynote Ladis2009
Dean Keynote Ladis2009Dean Keynote Ladis2009
Dean Keynote Ladis2009
 
产品部内部交流平台
产品部内部交流平台产品部内部交流平台
产品部内部交流平台
 
hadoop
hadoophadoop
hadoop
 
借助社会化媒体的个人成长
借助社会化媒体的个人成长借助社会化媒体的个人成长
借助社会化媒体的个人成长
 
高性能网站最佳实践
高性能网站最佳实践高性能网站最佳实践
高性能网站最佳实践
 
软件重构
软件重构软件重构
软件重构
 
透明计算与云计算
透明计算与云计算透明计算与云计算
透明计算与云计算
 
Netputer
NetputerNetputer
Netputer
 

并发编程实践

Editor's Notes

  1. 所有内存都是共享的么? No, only globals and heap. In Java, classes are global and static variables declared inside classes are global too. All the rest is local. All variables declared inside a method are locals, therefore they are not shared. The heap memory is never a problem even though it is shared, because variables pointing to them are either global or local.
  2. Jdk1.5 中优先使用互斥锁, jdk1.6 中优先使用内部锁。
  3. Jdk1.5 中优先使用互斥锁, jdk1.6 中优先使用内部锁。