Handler、HandlerThread、Thread的区别
2015-10-30 11:59
387 查看
Handler:是轻量级的线程,处理handler的looper可以是任意线程,它的消息处理方式是阻塞式的。
必须一条一条的处理。耗时操作 不应该用handler处理。
HandlerThread:继承自Thread,它有个Looper,在这里可以执行耗时操作,
Thread,Runnable
Runnable没有start方法,必须new thread把runnable传进去,然后调用thread的start方法
在JAVA语言中类和类之间是单继承的,而接口和接口之间是多继承的.
也就是说,如果你继承了Thread类之后就再也不能继承其他的类了,这在实际开发中是相当不方便的.
而实现Runnable接口就不会有这个麻烦了,因为接口是多继承的,
你实现一个接口之后只要你需要就可以继续实现其他的接口而没有任何限制.
从这一点上来说,实现Runnable比继承Thread要好许多
必须一条一条的处理。耗时操作 不应该用handler处理。
HandlerThread:继承自Thread,它有个Looper,在这里可以执行耗时操作,
Thread,Runnable
Runnable没有start方法,必须new thread把runnable传进去,然后调用thread的start方法
在JAVA语言中类和类之间是单继承的,而接口和接口之间是多继承的.
也就是说,如果你继承了Thread类之后就再也不能继承其他的类了,这在实际开发中是相当不方便的.
而实现Runnable接口就不会有这个麻烦了,因为接口是多继承的,
你实现一个接口之后只要你需要就可以继续实现其他的接口而没有任何限制.
从这一点上来说,实现Runnable比继承Thread要好许多
相关文章推荐
- iwpriv
- Java的内存回收机制
- WPF GroupBox 样式分享
- Apache Storm 与 Spark:对实时处理数据,如何选择【翻译】
- 10万以内数字转换为中文小写
- 【CentOS 7】【yum源】CentOS搭建内网yum源(转载)
- Cron表达式
- NSRunloop的简单认识
- 利用UIWebView打造一个炫酷的视频背景视图(OC & Swift)
- UESTC 1218 Pick The Sticks
- 解决nginx + lua 上传文件问题
- Coding Guidelines for Cocoa
- Leetcode129: Combination Sum II
- jQuery-easyUI的使用:combogrid
- 破解文件缓存不更新问题
- sqlite3自增key设定(创建自增字段)
- ios xcode 7 插件安装
- PHP反射API
- 决策树分类
- 量化交易-1