Kapitel 18. Gleichzeitigkeit mit Scala Futures und Akka Actors
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
In Scala kannst du weiterhin Java-Threads verwenden:
val
thread
=
new
Thread
{
override
def
run
=
// put your long-running code here ...
Thread
.
sleep
(
100
)
println
(
"Hello, world"
)
}
thread
.
start
Futures und das Actor-Modell sind jedoch die bevorzugten Ansätze für Gleichzeitigkeit:
- Futures
-
Sie eignen sich gut für einmalige "führe diese relativ langsame und möglicherweise langwierige Berechnung durch und rufe mich mit einem Ergebnis zurück, wenn du fertig bist"-Verarbeitung.
- Schauspieler
-
Sie eignen sich gut für Prozesse, die parallel laufen, lange Zeit bestehen und während ihrer Lebensdauer auf viele Anfragen reagieren können.
Sowohl Futures als auch Actors ermöglichen es dir, Code auf einer viel höheren Abstraktionsebene als Threads zu schreiben. Sobald du dich mit ihnen auskennst, kannst du dich auf die Lösung des jeweiligen Problems konzentrieren, anstatt dich um die Low-Level-Probleme von Threads, Sperren und gemeinsam genutzten Daten kümmern zu müssen.
Akka und Scala 3
Zum Zeitpunkt der Erstellung dieses Artikels wurde Akka noch nicht auf Scala 3 portiert. Daher verwenden alle Beispiele in diesem Kapitel die neueste Version von Scala 2.
Futures
Im Future
Scaladoc heißt es: "Ein Future
steht für einen Wert, der derzeit nicht verfügbar sein kann, aber irgendwann verfügbar sein ...
Get Scala Kochbuch, 2. Auflage now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.