さて、あなたは本当にここでさまざまな概念を混ぜ合わせています。
react
の代わりに使用する理由receive
は、 を持つ各アクターがreceive
独自のスレッドを必要とするためです。したがって、アクターごとに 1 つのスレッドがあります。 react
一方、そのアクターでそのメッセージを実行し、次のアクターとメッセージに進むスレッドのプールによって処理されます。(これは、実際に反応することを許可するだけです。一定の時間待つことはできません。)
一方、Runnable
およびCallable
インターフェースは、Java でコードをパッケージ化する方法にすぎず、単に何かを実行する ( Runnable
) か、値を返す ( )かによって異なりますCallable
。インターフェイス自体にはパフォーマンスの違いはありませんが、Callable
戻り値を返すために発生する必要がある追加のことがあります。そのため、どちらの方法でも記述できる場合は、のみが必要Runnable
です。(実際には、これはおそらくフューチャーではなくスレッドを開始することを意味します。) しかし、実装の詳細は非常に重要であるため、インターフェイスだけに基づいて一般的な推奨事項を実際に作成することはできません。呼び出している実際のクラスでインターフェイスが実際にどのように使用されているかを知る必要があります。