2014-11-01 77 views
0

我想了解創建具有默認構造函數演員的語法,使用默認構造函數創建演員?

object Main extends App { 
    val system = ActorSystem("MySystem") 
    val myActor = system.actorOf(Props[MyActor], name = "myactor") 

在上文中,我們首先創建一個ActorSystem,並解釋說,呼叫actorOf返回ActorRef的一個實例,是什麼這裏是ActorRef嗎?爲什麼使用name =「myactor」,它代表什麼? 「MySystem」從哪裏來? 和道具[MyActor],這是什麼意思? 任何人都可以給我一個在斯卡拉和阿卡這個整個演員創作過程的簡要解釋嗎?

回答

1

我可以解釋在它至少部分,希望這對理解到底是怎麼回事幫助...

什麼ActorRef這裏?

這是對剛剛創建的actor的引用。這是間接引用,但唯一標識了actor實例,並可用於將消息發送給actor。見Actor References, Paths and Addresses

爲什麼使用name =「myactor」,它代表什麼?

這是賦予正在創建的actor的邏輯名稱,並在該actor的分層路徑中使用,從根actor到其子節點等等。演員可以使用演員選擇的路徑「查找」。

「MySystem」從哪裏來?

「MySystem」是正在創建的ActorSystem的名稱。這是一個任意名稱,可以是任何你想標註這個演員系統的東西。

道具[MyActor],這是什麼意思?

這將創建用於創建和配置正在創建的actor的屬性對象。要創建一個Props對象,它需要知道actor的類和任何構造函數參數。在這種情況下,由於您沒有提供任何構造函數參數,因此將使用actor類的默認構造函數。有關更多信息,請參閱下面的演員鏈接。

任何人都可以給我一個在斯卡拉和阿卡這整個演員創建過程的簡要說明嗎?

創建過程記錄在Actors