Celluloid Actor のインスタンスを指定すると、 を使用future
して Actor メソッドを非同期に実行し、後で Future のvalue
メソッドを使用して Actor メソッドの結果を取得できます (必要に応じてブロックします)。
システムに 2 つの別個のコンポーネントがあり、両方が同じ Actor メソッド (おそらく非常に高価なデータベース クエリ) を使用したいとします。これらのコンポーネントの両方が個別に呼び出されactor.future.expensive_query
た場合、クエリは 2 回実行され、各呼び出し元は独自の個別の Future オブジェクトを取得して結果を取得します。さらに、2 つのクエリは同時にではなく、シリアルに実行されます。actor.future.expensive_query
代わりに、最初の呼び出し元によって作成された Future オブジェクトへの参照を取得するためだけに を2 回呼び出したい場合はどうなるでしょうか。セルロイドでそんなことができるの?