gpt4 book ai didi

java - android : message passing 中的多线程

转载 作者:搜寻专家 更新时间:2023-11-01 09:04:09 26 4
gpt4 key购买 nike

是安卓Handler并发 message passing 的实现?

似乎通过使用HandlerThread,可以很容易地在多个工作线程之间进行通信。但是,据我了解,并发消息传递是基于使用共享内存的。我试图了解 Handler 的实现机制,但对我来说仍然不清楚。

简单来说,Android Handler 是如何工作的?

最佳答案

是的,Handler 提供了一种线程间消息传递的形式。 Handler 对象本身是可从多个线程访问的“共享内存”,但它是线程安全的并为您管理细节。

更具体地说,Handler 是与 message queue 进行交互的便捷工具。 ( MessageQueue ) 对于给定的线程。当您将 RunnableMessage 发送到 Handler 时,它们会添加到 MessageQueue 中以获取 Handler 的线程。该线程本身运行一个 event loop。 ( Looper ) 连续处理线程队列中的消息。

如果您想了解Android 实现的细节,可以查看Handler.java(在Android 4.1.1 中)的代码on GrepCode .该类的文档非常详细,代码也很通俗易懂。

关于java - android : message passing 中的多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13192607/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com