聊聊Android里的多线程

聊聊Android里的多线程

  今天讲讲Android里的多线程,在java中多线程有两种实现方法,继承Thread类和实现Runnable接口(继承Thread本质上也是实现Runnable接口),线程里重写Run方法,通过start方法启动线程,两者的区别是实现了Runnable接口后需要将自己的Thread作为参数传入到实例化的Thread中。
  在Android中除了可以使用java提供的Thread,还可以使用Android封装好的工具类,比如AsyncTask,IntentService,HandlerThread。AsyncTask底层实现是线程池,其他类底层使用了线程实现。
  AsyncTask是一种轻量级的异步任务类,不适合执行特别耗时的操作。它是一个抽象的泛型类,提供了3个泛型参数,内有4个核心方法,onPreExecute,doInBackground,onProgressUpdate,onPostExecute,当任务取消时,调用onCancelled()。另需注意:AsyncTask必须在主线程中使用,execute不要重复调用,执行一次就好了,1.6之前AsyncTask是串行的,1.6-3.0是并行的,3.0之后又变成串行,如果又并行的需要呢,使用executeOnExecutor即可。
  HandlerThread继承了Thread,顾名思义,Handler+Thread。在Thread的run方法中加入了Lopper.prepare()来创建消息队列,具体的使用通常配合IntentService来使用。
  IntentServer继承自Server的抽象类,可用于执行后台耗时操作,优先级高于一般Thread(毕竟是四大组件)。
  先写到这里,要去刷碗了,最近搬家了,开始自己做饭了,感觉还行,除了费时间要准备之外,菜饭的味道都能自己掌握,想多放肉就多方肉,咸淡也能自己掌握,感觉还不错。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值