Androidをマルチユーザーシステムとして利用しようとしています。だから私は4年間の計算機科学を経ることなくキューイングに頭を包み込もうとしています。
「4年間の計算機科学」を持つことは、あなたが望むように、オペレーティングシステムの一部を書き直そうとしている人にとっては合理的な考えです。
メッセージキューとは対照的に、コマンドキューとは正確には何ですか?
1つは「コマンド」という言葉です。もう1つは「メッセージ」という言葉です。したがって、他の唯一の違いは、これらの2つの単語に付ける意味にあります。
たとえば、「コマンド」は一種の「メッセージ」であると主張する人もいるかもしれませんが、その逆は当てはまりません。
インテントをキューに入れたい場合は、基本的にコマンドをキューに入れて、キュー内の最後のインテント/コマンドが前のインテント/コマンドの後でのみ実行されるようにします。
これらの「インテント基本コマンド」を何に使用しているのかを示すものはありません。AndroidのIntent
は、アクティビティの開始、サービスの開始またはバインド、またはブロードキャストの送信に使用されます。動作の特性はIntent
、何に使用しているかによって異なりますIntents
。
たとえば、sendBroadcast()
厳密な「キュー」の概念はありません。ただし、IntentService
doを一緒に使用するstartService()
と、バッファリングされ、現在の処理が完了するのをIntents
待ってから次の処理に渡されます。onHandleIntent()
Intent
Android / Javaはこれを提供します:http://developer.android.com/reference/java/util/Queue.html。しかし、なぜ私はこれを使用しないのですか:http ://www.rabbitmq.com/java-client.html
RabbitMQは、マシン間のメッセージキュー用です。リンクしたページを読むと、これを知ることができます(「RabbitMQJavaクライアントライブラリを使用すると、JavaコードをAMQPサーバーに接続できます」)。
Queue
パッケージ内のすべてのものと同様に、単一のアプリ内で使用されるデータ構造です。java.util
コマンドやインテントもメッセージにすることはできませんか?
「コマンド」と「メッセージ」という用語に、好きな意味を割り当てることができます。
しかし、誰かの「何か」が実行された後にのみ、ユーザーが「何か」を実行できるようにしたいのです。
Androidには汎用の相互Intent
同期モデルはありません。したがって、オペレーティングシステムの一部を書き直さないと、求めている調整を確実に行う手段がありません。