我正在尝试使用 Android 作为多用户系统。因此,我试图在不经历 4 年 compsci 的情况下专注于排队。但我并不懒惰,愿意阅读、学习和学习。
与消息队列相比,命令队列到底是什么?
如果我想对 Intent 进行排队,以便队列中的最后一个 Intent/命令仅在前一个 Intent/命令完成之前运行,我应该学习/使用什么数据结构?
Android/Java 提供此功能: http://developer.android.com/reference/java/util/Queue.html 。 但我为什么不使用这个:http://www.rabbitmq.com/java-client.html
我坚持的问题是......命令或 Intent 不能也是消息吗?
Intent 基本上是命令,我告诉系统执行某些操作。 但我想允许用户仅在其他人的“某事”执行后才能执行“某事”。
我有一种方法可以让很多人使用一个android,我只需要一些了解如何实现对困惑的控制。
最佳答案
I'm attempting to utilize Android as a multi user system. So I'm trying to wrap my head around queuing without going through 4 yrs of compsci.
对于任何想要重写操作系统部分的人来说,拥有“4 年的 compsci”将是一个合理的想法,正如您似乎希望做的那样。
What exactly is a command queue, as opposed to a message queue?
其中一个有“命令”一词。另一个有“消息”一词。因此,唯一的其他区别在于您赋予这两个词的含义。
例如,有些人可能会认为“命令”是一种“消息”,但反之则不然。
If i want to queue up intents basically commands so that the last intent/command in the queue runs only after the previous one before it finishes.
您没有提供任何关于您使用这些“Intent 基本命令”的用途的指示。 Android 中的 Intent
用于启动 Activity、启动或绑定(bind)到服务,或者发送广播。 Intent
行为的特征取决于您使用 Intent
的目的。
例如,sendBroadcast()
没有严格的“队列”概念。但是,IntentService
在与 startService()
一起使用时会这样做——它会缓冲 Intents
,等待 onHandleIntent()
> 在传递下一个 Intent 之前完成当前 Intent
的处理。
Android/Java offers this: http://developer.android.com/reference/java/util/Queue.html. But why wouldn't I use this: http://www.rabbitmq.com/java-client.html
RabbitMQ 用于机器之间的消息队列。您可以通过阅读链接到的页面来了解这一点(“RabbitMQ Java 客户端库允许 Java 代码连接到 AMQP 服务器”)。
Queue
是在单个应用程序内使用的数据结构,java.util
包中的所有内容也是如此。
can't a command or an intent be a message too?
欢迎您为术语“命令”和“消息”赋予您想要的任何含义。
But I want to allow users to execute "something" only after someone's "something" has executed.
Android 中没有通用的 Intent 间同步模型。因此,如果不重写某些操作系统,您就无法确保您所寻求的协调。
关于java - 消息队列和命令队列类似吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15256898/