2010-12-10 6 views

答えて

2

通常、必要ありません。

リモートアクターは、アクタープロキシによってアクセスされます。これは、特定のアクターの実装とは関係ありません。アクタを使って作業する適切な方法がメッセージを送信している限り(したがって、アクタメソッドを直接呼び出すことは避けられますが、残念なことに標準のScalaアクタでは可能ですが、アクタでは不可能でアクタとアクタ参照の分離があります)ほとんどのシナリオであなたのために働きます。

ただし、アクターのバイトコードが他のノードに必要な場合があります。たとえば、メールボックスでアクタをシリアル化して、別のノードに実行用に送信する場合です。


引用The Scala Actors APIから:

は名前 「anActorで、ポート8000​​上で、マシン MYMACHINE上で実行されている リモート俳優へのリモート参照を取得するには、以下の 的に選択使用:

val myRemoteActor = 
select(Node("myMachine", 8000),'anActor) 

俳優が選択から返さ タイプAを持っています基本的に 定期的な俳優と同じインタフェースを を提供し、ひいては 通常のメッセージをサポートしていbstractActorが

+0

操作を送っ私はアッカのために、「残念ながら可能」とし、「不可能」少し混乱を感じますか? –

+0

アクカのActorRefsのポイントがありませんか?私は、発信者がアクターメソッドに直接アクセスすることを防ぐことを意図していると思いました。 –

+0

私はあなたを正しく理解していれば、リモートアクタコードの適切な場所は、アクターが実際に動作するが、要求側は応答しない側です。 –

関連する問題