我試圖利用Android作爲多用戶系統。所以我正試圖繞過排隊而不經歷4年的compsci。
對於任何希望重寫操作系統部分的人來說,擁有「4年的compsci」是一個合理的想法,正如你似乎希望做的那樣。
究竟是命令隊列,而不是消息隊列?
有一個詞「命令」。另一個有「消息」一詞。因此,唯一的其他區別在於你對這兩個詞的意義。
例如,有些人可能會認爲「命令」是一種「消息」,但反過來是不正確的。
如果我想排隊intents基本上命令,以便隊列中的最後一個意圖/命令只在前一個意圖/命令完成之前運行。
你不提供任何指示你正在使用這些「意圖基本命令」。 Android中的Intent
用於啓動活動,啓動或綁定到服務或發送廣播。 Intent
行爲的特徵將取決於您使用的是什麼Intents
。
例如,sendBroadcast()
沒有嚴格的「隊列」概念。但是,IntentService
與startService()
一起使用時會執行此操作 - 它將緩衝Intents
,等待onHandleIntent()
完成處理當前的Intent
,然後再傳遞下一個。
Android/Java提供了:http://developer.android.com/reference/java/util/Queue.html。但我爲什麼不這樣做:http://www.rabbitmq.com/java-client.html
RabbitMQ的是消息隊列機器之間。您可以通過閱讀鏈接到的頁面(「RabbitMQ Java客戶端庫允許Java代碼連接到AMQP服務器」)來告訴它。
Queue
是在單個應用程序中使用的數據結構,正如java.util
包中的所有內容一樣。
不能一個命令或一個意圖是一個消息嗎?
歡迎您指定您希望使用的術語「命令」和「消息」的含義。
但我想讓用戶只有在某人的「東西」執行後才能執行「某些事情」。
Android中沒有通用的inter-Intent
同步模型。因此,在不重寫某些操作系統的情況下,您無法確保您尋求的協調。
如果您要查找的功能是以該語言提供的,爲什麼還要使用第三方庫? – Catherine 2013-03-06 20:16:18
正如CommonsWare剛剛告訴我的,「隊列是在單個應用程序中使用的數據結構」+「RabbitMQ用於機器之間的消息隊列」。該應用程序遠程發送意圖/命令到另一個應用程序/安卓系統進行處理。因此,在用戶應用程序和主機應用程序/系統內的內置庫中,使用這兩個庫都會起到rabbitmq等的作用。 – sirvon 2013-03-06 21:08:59
http://stackoverflow.com/questions/4962755/why-are-commands-and-events-separately-表示 – sirvon 2013-03-28 02:16:59