1、通过单向数据管道传递数据

管道(使用PipedWriter/ 创建PipedReader)是java.io包的一部分。也就是说,它们是一般的Java功能,而不是Android特定的。管道为同一进程内的两个线程提供了一种连接和建立单向数据通道的方法。生产者线程将数据写入管道,而使用者线程从管道读取数据。

2、共享内存通信

共享内存(使用编程中已知的内存区域作为堆)是在线程之间传递信息的常用方法。应用程序中的所有线程都可以访问进程中的相同地址空间。

3、实现消费者 - 生产者模式 BlockingQueue

线程信令是一种低级,高度可配置的机制,可以适应许多用例,但它也可能被认为是最容易出错的技术。因此,Java平台在线程信令机制上构建高级抽象,以解决线程之间的任意对象的单向切换。抽象通常被称为“解决生产者 - 消费者同步问题。”问题包括可能存在生成内容的线程(生产者线程)和消费内容的线程(消费者线程)的用例。生产者将消息传递给消费者进行处理。线程之间的中介是具有阻塞行为的队列,即java.util.concurrent.BlockingQueue。

4、消息队列

消息处理机制是Android平台的基础,API位于android.os包中,其中包含一组实现该功能的类Handler。

android.os.Looper
与唯一的消费者线程关联的消息调度程序。

android.os.Handler
消费者线程消息处理器,以及生产者线程将消息插入队列的接口。Looper可以有许多关联的处理程序,但它们都将消息插入到同一队列中。

android.os.MessageQueue
要在消费者线程上处理的无限链接消息列表。每个Looper和Thread-最多只有一个MessageQueue。

android.os.Message
要在使用者线程上执行的消息。

原文链接:https://www.oreilly.com/library/view/efficient-android-threading/9781449364120/ch04.html

更多相关文章

  1. 关于Android多进程
  2. 安卓 每日一题 2020年5月、6月
  3. android AsyncTask使用总结
  4. Android中AsyncTask(异步执行任务)的使用
  5. 图解 Android(安卓)事件分发机制 和 handler 机制
  6. Android之Handler有感(一)
  7. Android的消息处理机制—Looper,Handler,Message
  8. Android录音mp3格式实例详解
  9. android 8.0 新特性:通知渠道

随机推荐

  1. [Android]使用RecyclerView替代ListView(
  2. andriod 获得机型信息
  3. Android培训班(30)
  4. android 摇一摇功能程序的注意事项
  5. Android中SharedPreferences的使用
  6. Android4.0 隐藏虚拟按键 实现全屏
  7. android 组件生命周期
  8. android studio 中好用的插件————你
  9. Android马赛克效果MosaicView
  10. android 文本切换 TextSwicher