0

私は Java for Android から学んでおり、次のように Thread と Message Queue について学んだことのいくつかを学んでいます。

1) メイン スレッドには独自のメッセージ キューがあり、メッセージ キュー内の Handler を介して新しいスレッドを形成できます。

2) 実行時の新しいスレッドは、独自のメッセージ キューを持つこともできます。新しいスレッドからメイン スレッドへの通信は、同じハンドラを介して行われます。

いくつか質問があります。C++ では、スレッド間通信はハンドラーによって行われません。メッセージキューまたはパイプによって行われると思います。

私の質問は、メイン スレッドとセカンダリ スレッド間の通信に関して、Java の Handler の概念を C++ のメッセージ キューまたはパイプと関連付ける方法です。

4

1 に答える 1

0

Java および C++ では、ハンドラーまたはメッセージ キューを使用したり、ExecutorServices が機能する方法であるコマンド オブジェクトを渡すことができます。

Java は詳細を隠蔽し、最も重要なコードのみを記述させることを好む傾向があります (言語自体がかなり冗長であっても) C++ は、低レベルの構造を公開することを好む傾向があります。

ただし、各言語でどちらもできない理由はありません。

ところで: 私はコマンド オブジェクトRunnableCallableJava の ExecutorServices に渡すことを好みます。つまり、心配するハンドラー、メッセージ キュー、またはスレッドはありません。

于 2013-07-24T23:58:09.037 に答える