アクター モデルを使用して scala で渡される基本的なメッセージを理解するのを手伝ってくれる人はいますか?
3 つのアクターで簡単なプログラムを作成しようとしています。
アクター「BossActor」は、2 つのアクター「Actor1」と「Actor2」を作成します。
「Actor1」は 2 つの整数引数を受け取ります -> それらの合計を見つけます -> 合計を Actor2 に渡します
「Actor2」は合計を出力します
package actorsSum
import scala.actors.Actor
import scala.actors.Actor._
case object BossActor
case object Actor1
case object Actor2
object SumOf2Numbers extends App
{
print ("Enter Num1 : ")
val Num1 = readInt()
print ("Enter Num2 : ")
val Num2 = readInt()
var Sum = 0
val bossActor = new BossActor(Num1,Num2,Sum)
bossActor.start
}
/** Boss Actor which creates and controls all subsequent actors */
class BossActor(Num1: Int, Num2: Int, Sum: Int) extends Actor {
def act() {
val act1 = new Actor1(Num1,Num2)
val act2 = new Actor2(Sum)
act1.start
act2.start
}
}
/** Actor to find sum of the numbers */
class Actor1 (Num1: Int, Num2: Int) extends Actor {
def act() {
val Grandtotal = Num1 + Num2
/** send "Grandtotal" to Actor2 */
// act2 ! Grandtotal
}
}
/** Actor to print the sum */
class Actor2(Sum: Int) extends Actor {
def act() {
react{
/** print the sum */
case Actor1 => println ("Sum: " + Sum)
case Sum => println ("Sum: " + Sum)
}
}
}