为了账号安全,请及时绑定邮箱和手机立即绑定

最好使用HandlerThread而不是其他类似的类

最好使用HandlerThread而不是其他类似的类

拉莫斯之舞 2019-12-22 10:12:51
最好使用HandlerThread而不是其他类似的类我试图了解使用的最佳用例HandlerThread。根据定义:“用于启动具有looper的新线程的方便类。然后可以使用looper来创建处理程序类。请注意,仍然必须调用start()。”我可能是错的,但类似的功能,我可以通过使用实现Thread,Looper和Handler。那么我HandlerThread什么时候应该使用?一个例子真的很有帮助。
查看完整描述

2 回答

?
Helenr

TA贡献1780条经验 获得超3个赞

这是HandlerThreadLooper源代码的链接。

如果你看看这两个,你会发现它HandlerThread正是它所说的 - 一种方便的方式来启动Thread它有一个Looper。为什么会这样?因为线程默认没有消息循环。这HandlerThread只是创建一个简单的方法。你可以用HandlerThreadLooper- 从源代码判断复制这个功能- 答案是肯定的。

一个Executor是不同的。一个Executor需要提交可运行的任务和-你猜怎么着-执行它们。为什么这有必要?它允许您将任务的执行与其实际内容分离。你什么时候用这个?假设您遇到需要同时执行多个任务的情况。您可以选择使用Executor,在一个线程上运行它们,以便它们以串行方式执行。或者您可以使用固定的线程池,以便一些(但不是全部)同时运行。在任何一种情况下,任务的实质 - 即它实际上在做什么 - 都与它的执行方式分开。



查看完整回答
反对 回复 2019-12-23
  • 2 回答
  • 0 关注
  • 367 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信