Suche senden
Hochladen
Android线程简介
•
Als PPTX, PDF herunterladen
•
0 gefällt mir
•
217 views
朋 王
Folgen
android平台线程模型
Weniger lesen
Mehr lesen
Mobil
Melden
Teilen
Melden
Teilen
1 von 14
Jetzt herunterladen
Empfohlen
MySQL压力测试经验
MySQL压力测试经验
Jinrong Ye
深入浅出NodeJS
深入浅出NodeJS
sunzhenghua
Lamp高性能设计
Lamp高性能设计
锐 张
前端自動化工具
前端自動化工具
國昭 張
性能优化
性能优化
Lu Wei
Android开发基础
Android开发基础
ykdsg
Entity framework + Linq 介紹
Entity framework + Linq 介紹
Alan Tsai
Java线上应用问题排查方法和工具(空望)
Java线上应用问题排查方法和工具(空望)
ykdsg
Empfohlen
MySQL压力测试经验
MySQL压力测试经验
Jinrong Ye
深入浅出NodeJS
深入浅出NodeJS
sunzhenghua
Lamp高性能设计
Lamp高性能设计
锐 张
前端自動化工具
前端自動化工具
國昭 張
性能优化
性能优化
Lu Wei
Android开发基础
Android开发基础
ykdsg
Entity framework + Linq 介紹
Entity framework + Linq 介紹
Alan Tsai
Java线上应用问题排查方法和工具(空望)
Java线上应用问题排查方法和工具(空望)
ykdsg
并发编程交流
并发编程交流
bluedavy lin
笔记
笔记
pzh244658240
高性能的Java代码编写及常见问题排查
高性能的Java代码编写及常见问题排查
bluedavy lin
基于OpenResty的百万级长连接推送
基于OpenResty的百万级长连接推送
OpenRestyCon
MySQL多机房容灾设计(with Multi-Master)
MySQL多机房容灾设计(with Multi-Master)
Lixun Peng
Sun jdk 1.6内存管理 -使用篇
Sun jdk 1.6内存管理 -使用篇
bluedavy lin
Btrace intro(撒迦)
Btrace intro(撒迦)
ykdsg
Class loader
Class loader
Medivh2011
北京圣思园深入Java虚拟机 class loader
北京圣思园深入Java虚拟机 class loader
Medivh2011
JVM内容管理和垃圾回收
JVM内容管理和垃圾回收
Tony Deng
服务器基准测试-叶金荣@CYOU-20121130
服务器基准测试-叶金荣@CYOU-20121130
Jinrong Ye
Entity Framework實戰
Entity Framework實戰
國昭 張
Split lock
Split lock
yang peng
Asp.net mvc 6 新功能初探
Asp.net mvc 6 新功能初探
Gelis Wu
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
taobao.com
线上问题排查交流
线上问题排查交流
Edward Lee
Design realization and application of RBD NBD - Wang Li
Design realization and application of RBD NBD - Wang Li
Ceph Community
Java常见问题排查
Java常见问题排查
bluedavy lin
Sun JDK 1.6内存管理 -调优篇
Sun JDK 1.6内存管理 -调优篇
bluedavy lin
Cinder snapshot and backup
Cinder snapshot and backup
Felix Ma
Nodejs & NAE
Nodejs & NAE
q3boy
lua & ngx_lua 的介绍与应用
lua & ngx_lua 的介绍与应用
hugo
Weitere ähnliche Inhalte
Was ist angesagt?
并发编程交流
并发编程交流
bluedavy lin
笔记
笔记
pzh244658240
高性能的Java代码编写及常见问题排查
高性能的Java代码编写及常见问题排查
bluedavy lin
基于OpenResty的百万级长连接推送
基于OpenResty的百万级长连接推送
OpenRestyCon
MySQL多机房容灾设计(with Multi-Master)
MySQL多机房容灾设计(with Multi-Master)
Lixun Peng
Sun jdk 1.6内存管理 -使用篇
Sun jdk 1.6内存管理 -使用篇
bluedavy lin
Btrace intro(撒迦)
Btrace intro(撒迦)
ykdsg
Class loader
Class loader
Medivh2011
北京圣思园深入Java虚拟机 class loader
北京圣思园深入Java虚拟机 class loader
Medivh2011
JVM内容管理和垃圾回收
JVM内容管理和垃圾回收
Tony Deng
服务器基准测试-叶金荣@CYOU-20121130
服务器基准测试-叶金荣@CYOU-20121130
Jinrong Ye
Entity Framework實戰
Entity Framework實戰
國昭 張
Split lock
Split lock
yang peng
Asp.net mvc 6 新功能初探
Asp.net mvc 6 新功能初探
Gelis Wu
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
taobao.com
线上问题排查交流
线上问题排查交流
Edward Lee
Design realization and application of RBD NBD - Wang Li
Design realization and application of RBD NBD - Wang Li
Ceph Community
Java常见问题排查
Java常见问题排查
bluedavy lin
Sun JDK 1.6内存管理 -调优篇
Sun JDK 1.6内存管理 -调优篇
bluedavy lin
Cinder snapshot and backup
Cinder snapshot and backup
Felix Ma
Was ist angesagt?
(20)
并发编程交流
并发编程交流
笔记
笔记
高性能的Java代码编写及常见问题排查
高性能的Java代码编写及常见问题排查
基于OpenResty的百万级长连接推送
基于OpenResty的百万级长连接推送
MySQL多机房容灾设计(with Multi-Master)
MySQL多机房容灾设计(with Multi-Master)
Sun jdk 1.6内存管理 -使用篇
Sun jdk 1.6内存管理 -使用篇
Btrace intro(撒迦)
Btrace intro(撒迦)
Class loader
Class loader
北京圣思园深入Java虚拟机 class loader
北京圣思园深入Java虚拟机 class loader
JVM内容管理和垃圾回收
JVM内容管理和垃圾回收
服务器基准测试-叶金荣@CYOU-20121130
服务器基准测试-叶金荣@CYOU-20121130
Entity Framework實戰
Entity Framework實戰
Split lock
Split lock
Asp.net mvc 6 新功能初探
Asp.net mvc 6 新功能初探
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
线上问题排查交流
线上问题排查交流
Design realization and application of RBD NBD - Wang Li
Design realization and application of RBD NBD - Wang Li
Java常见问题排查
Java常见问题排查
Sun JDK 1.6内存管理 -调优篇
Sun JDK 1.6内存管理 -调优篇
Cinder snapshot and backup
Cinder snapshot and backup
Ähnlich wie Android线程简介
Nodejs & NAE
Nodejs & NAE
q3boy
lua & ngx_lua 的介绍与应用
lua & ngx_lua 的介绍与应用
hugo
DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略
Will Huang
Multithread
Multithread
Medivh2011
Make your DVR playground using DevStack
Make your DVR playground using DevStack
Jiang Jun
Golang 高性能实战
Golang 高性能实战
rfyiamcool
D2_node在淘宝的应用实践_pdf版
D2_node在淘宝的应用实践_pdf版
Jackson Tian
合久必分,分久必合
合久必分,分久必合
Qiangning Hong
Introduction to NodeJS
Introduction to NodeJS
TechParty@UIC
Notes of jcip
Notes of jcip
Dai Jun
构建基于Lamp的网站架构
构建基于Lamp的网站架构
Cosey Lee
DAE 新变化介绍
DAE 新变化介绍
Tianwei Liu
Big Java, Big Data
Big Java, Big Data
Kuo-Chun Su
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
Scourgen Hong
Ian .net async programming
Ian .net async programming
LearningTech
谈谈模块化
谈谈模块化
衡锋 阳
Track2 -刘继伟--openstack in gamewave
Track2 -刘继伟--openstack in gamewave
OpenCity Community
Ali-tomcat
Ali-tomcat
wang hongjiang
千呼萬喚始出來的 Java SE 7
千呼萬喚始出來的 Java SE 7
Justin Lin
My sql 5.6新特性深入剖析——innodb引擎
My sql 5.6新特性深入剖析——innodb引擎
frogd
Ähnlich wie Android线程简介
(20)
Nodejs & NAE
Nodejs & NAE
lua & ngx_lua 的介绍与应用
lua & ngx_lua 的介绍与应用
DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略
Multithread
Multithread
Make your DVR playground using DevStack
Make your DVR playground using DevStack
Golang 高性能实战
Golang 高性能实战
D2_node在淘宝的应用实践_pdf版
D2_node在淘宝的应用实践_pdf版
合久必分,分久必合
合久必分,分久必合
Introduction to NodeJS
Introduction to NodeJS
Notes of jcip
Notes of jcip
构建基于Lamp的网站架构
构建基于Lamp的网站架构
DAE 新变化介绍
DAE 新变化介绍
Big Java, Big Data
Big Java, Big Data
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
Ian .net async programming
Ian .net async programming
谈谈模块化
谈谈模块化
Track2 -刘继伟--openstack in gamewave
Track2 -刘继伟--openstack in gamewave
Ali-tomcat
Ali-tomcat
千呼萬喚始出來的 Java SE 7
千呼萬喚始出來的 Java SE 7
My sql 5.6新特性深入剖析——innodb引擎
My sql 5.6新特性深入剖析——innodb引擎
Mehr von 朋 王
有钱Android索引优化调研总结
有钱Android索引优化调研总结
朋 王
Android系统内存管理介绍(上)
Android系统内存管理介绍(上)
朋 王
Json解析库性能评测
Json解析库性能评测
朋 王
Android chromium web view
Android chromium web view
朋 王
introduce Okhttp
introduce Okhttp
朋 王
networking performance
networking performance
朋 王
Android+bitmap优化
Android+bitmap优化
朋 王
Mehr von 朋 王
(7)
有钱Android索引优化调研总结
有钱Android索引优化调研总结
Android系统内存管理介绍(上)
Android系统内存管理介绍(上)
Json解析库性能评测
Json解析库性能评测
Android chromium web view
Android chromium web view
introduce Okhttp
introduce Okhttp
networking performance
networking performance
Android+bitmap优化
Android+bitmap优化
Android线程简介
1.
* Android线程简介 王朋
2.
概要 AsyncTask/Thread/ThreadPoolExecutor linux线程历史
linux线程调度 Java、android线程模型 懒汉单例模式
3.
AsynTask 缺点: 不同版本表现不一样 没有区分task,容易阻塞
使用有点麻烦 优点: 官方实现,暂无已知bug,稳定。
4.
ThreadPoolExecutor corePoolSize:线程池运行最大线程数 maximumPoolSize:线程池允许运行的最大线程数
BlockingQueue:任务队列。task数目超过限制大小在 corePoolSize的基础上新建线程运行任务。 优点:灵活 缺点:java库,android平台运行需要配置好参数、线程优先 级等。
5.
Linux 线程历史 LinuxThreads: •
clone() 系统调用,与调用进程共享相同的地址空间。 • 需要一个管理线程 • 性能、信号处理、调度和进程间同步原语方面都存在问题
6.
Linux 线程历史 NPTL(
Native POSIX Thread Library ): • Linux2.6版本之后线程实现都是nptl • 性能高,创建10w个线程2s,linuxThreads需要15min • NUMA 和 SMP支持良好
7.
线程优先级, nice Linux中,使用nice value(以下成为nice值)来设定一个进程 的优先级,系统任务调度器根据nice值合理安排调度。
nice的取值范围为-20到19。 通常情况下,nice的默认值为0。 nice的值越大,进程的优先级就越低,获得CPU调用的机会 越少,nice值越小,获得CPU调用的机会越多。
8.
线程优先级,java vs android Android平台推荐使用Process代替java
Thread类对应的api。 Process.setPriority Thread.setPriority
9.
CGroup Linux CGroup全称Linux Control
Group, 是Linux内核的一个 功能,用来限制,控制与分离一个进程组群的资源(如CPU、 内存、磁盘输入输出等)。是Docker基础技术。 Android使用其机制分配cpu资源: 限制后台进程cpu时间片,5% 。 限制线程组的cpu时间片? 查看命令: ps -P
10.
11.
Java线程模型 1个java线程对应1个linux线程 1个java线程栈64k(gDvm.stackSize),linux线程栈默认 2m
Java内存模型
12.
Android单线程模型 What Ui线程、gpu RenderThread(传递DisplayList) Why 单线程没有并发问题,极大的降低了复杂度 how
消息队列,epoll、pipe。
13.
Java并发 Java内存模型:可见性(volatile,lock)、原子性(lock)、 有序性(lock) 懒汉单例模式:需要解决并发可见性、原子性问题。
14.
参考资料 Linux https://www.akkadia.org/drepper/nptl-design.pdf http://coolshell.cn/articles/17049.html http://www.ibm.com/developerworks/cn/linux/l-threading.html Android http://android.jobbole.com/82440/ http://droidyue.com/blog/2015/09/05/android-process-and-thread-schedule-nice/
Jetzt herunterladen