- 俳優通信モデルの概要
モデル情報の送信に使用される1)俳優アッカプロトコル。 2)俳優・ベースのシステムで、すべてのものは、すべてのものがオブジェクトである、オブジェクト指向設計かのように、俳優です。 同時実行モデルの設計やアーキテクチャなど3)俳優モデル。俳優及び監督の間でメールボックスに示されるのみメッセージ通信を介して、のように。 4)それだけで、別のアクターメッセージに場合俳優、俳優及び監督のメッセージ通信との間で使用することができ、メッセージは、単に、適切なメールボックスにメッセージを投稿し、順序(メッセージキュー)です。 5)俳優によって決定される方法のメッセージを処理するためのメッセージを受信すると、メッセージの俳優を送信、返信プロセスが非同期かもしれ待つことができます。 責任6)ActorSystemを作成し、彼らが作成した俳優の管理を担当する、ActorSystemはシングルトン(ActorSystemは工場、特別に作成された俳優でもよい)、JVMプロセスを持つことができるというAcotrは、それらの多くを持つことができますがあります。 7)俳優・モデルは、並行モデルは、より抽象的です。 8)俳優・モデルは、非同期、ノンブロッキング、高性能なイベント駆動型のプログラミングモデルです。9)アクターモデルは軽量なイベント処理がある(1GBのメモリは百万レベル俳優)を保持するため、大規模な高同時パフォーマンスを扱うことができます。 |
2. ActorSystem階層
1)ActorySystem俳優を作成 2)ActorRef:俳優剤または参照であると理解されるであろう。メッセージは俳優によって行われていない、ActorRefを介して送信されます 介してメッセージをActorRefれ、メッセージを送信し、それはそのメッセージがどの発行俳優意味 3)メッセージは、ディスパッチャメッセージ(メッセージ分配)に、それはメッセージを取得し、メッセージは、対応する配布されます メールボックス。(注:ディスパッチャメッセージは、スレッドプールであると理解されるであろう、メールボックスがメッセージ・キューであると理解されるが、遅くてもよいです )複数のメッセージをチョン、FIFOに従ってください 4)俳優メッセージによって取得されたメソッドを受信し、その後、処理することができます。
メッセージメカニズム(マップ)の俳優モデル 1)各メッセージはメッセージ・オブジェクトです。メッセージスレッドクラスであるため、メッセージは、Runableを継承しています。 2)アクターモデルから非常に面倒な仕組みに見えますが、プログラマはそれだけで俳優のプログラミングを書く必要が、俳優のモデルに他を完成させることができます。 3)アクターBの俳優与えるためにメッセージを送信するには、最初にメッセージを送信するためにも、ホールドとして知られている俳優()B俳優プロキシオブジェクトのActorRefを取得する必要があります |
3. ActorPathは何ですか
俳優のパスとは何ですか? 俳優は、厳格な階層的な方法で作成されているので、下向きの根系が指定されている方へ、子と親の俳優間の再帰的な監督へのリンクが続き、ユニークなシーケンスの俳優の名前があります。俳優とファイルシステム階層の階層にもかかわらず、いくつかの基本的な違いがある、このシーケンスは、ファイルシステムフォルダとして見ることができるので、我々はそれを参照するために名前「パス」を使用します。 パスは、指定されたアクタガーディアンにルートから、システム・アクターは、直列パス要素を識別する一のアクターアンカーを含む、アクター要素のパス名は、スラッシュで区切られた、横断されます。 |
4.どのように俳優のリファレンスを見つけるのですか?俳優の参照を作成する方法
俳優リファレンスActorRefの主な役割のサブタイプである、それは俳優がメッセージを送信表しActorRefをサポートすることです。 各アクターは、デフォルトでは、自己参照を介してその仕様(ローカル)にアクセスすることができ、 送信者が別のアクターにメッセージを送ったとして、このリファレンスも使用されています。 メッセージ処理中に、俳優は、送信者フィールドにアクセスしてメッセージ送信者への参照を取得することができます。 |
5. Scalaの暗黙的な変換
Scalaは暗黙の変換がサポートされている暗黙的変数、メソッド、クラスを使用して変更しました クラスが存在しない場合、オブジェクトは、コンパイラが自動的に(タイプに応じて)暗黙オブジェクトを変換するメソッドまたはメンバーを呼び出します |
使用implicit修饰的变量,可以在方法需要参数时,编辑器自动加载到方法参数中 |
隐式转换函数是以 implicit 关键字声明的带有单个参数的函数。这种函数将会自动应用,将值从一种类型转换为另一种类型 1) 隐式转换函数的函数名可以是任意的,隐式转换与函数名称无关,只与函数签名(函数参数类 型和返回值类型)有关。
2) 隐式函数可以有多个(即:隐式函数列表),但是需要保证在当前环境下,只有一个隐式函数能 被识别 |
隐式类使用有如下几个特点: 1) 隐式类的构造参数有且只能有一个 2) 隐式类必须被定义在“类”或“伴生对象”或“包对象”里,即隐式类不能是顶级的(top-level objects)。 3) 隐式类不能是 case class 4) 作用域内不能有与之相同名称的标识符 |