From a16b70970f58396bd73eb0c724cbbeab9be2ed90 Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Mon, 5 May 2025 17:08:21 +0200 Subject: [PATCH] added lesson 8 --- src/Lesson8/Actors.scala | 19 +++++++++++++++++++ src/Lesson8/Futures.scala | 18 ++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 src/Lesson8/Actors.scala create mode 100644 src/Lesson8/Futures.scala diff --git a/src/Lesson8/Actors.scala b/src/Lesson8/Actors.scala new file mode 100644 index 0000000..2d72e57 --- /dev/null +++ b/src/Lesson8/Actors.scala @@ -0,0 +1,19 @@ +package Lesson8 + +import akka.actor.{Actor, ActorSystem, Props} + +object Actors extends App { + case class Greetings(who: String) + + class SimplestActor extends Actor { + def receive = { + case Greetings(who) => println(s"Hello $who, pleased to meet you") + } + } + + val system = ActorSystem("MySystem") + val simple_greeter = system.actorOf(Props[SimplestActor]) + + simple_greeter ! Greetings("Dr Who") +} + diff --git a/src/Lesson8/Futures.scala b/src/Lesson8/Futures.scala new file mode 100644 index 0000000..c5c1dcf --- /dev/null +++ b/src/Lesson8/Futures.scala @@ -0,0 +1,18 @@ +package Lesson8 + +import scala.concurrent.Future +import scala.util.{Failure, Success} + +object Futures extends App { + implicit val ec: scala.concurrent.ExecutionContext = scala.concurrent.ExecutionContext.global + + val f: Future[Int] = Future { + Thread.sleep(650) + 3 + 4 + } + + f onComplete { + case Success(x: Int) => println(s"Computing done, result is $x") + case Failure(ex) => println("Error") + } +}