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