Scala -Futures

Scala -Futures
In Zeiten erwarten wir, dass unsere Programme während der Durchführung komplexer Berechnungen gleichzeitig unterschiedliche Aufgaben ausführen, um eine bessere Geschwindigkeit und Effizienz zu haben. Dieses Konzept spielt eine wichtige Rolle, insbesondere wenn wir nicht möchten, dass die zeitaufwändigen Aufgaben unsere gesamte Verarbeitung blockieren. In der Scala -Programmiersprache kann die Funktionalität von Threads durch die Verwendung von Scala -Futures erreicht werden, und wir werden in diesem Artikel mehr darüber erfahren.

Was sind die Scala -Futures und was ist der Zweck, sie zu verwenden??

Wir haben in der Einführung angegeben, dass Scala -Futures den gleichen Zweck wie Fäden in jeder anderen Programmiersprache i dienen.e., Parallelität. Dies bedeutet, dass Sie durch das Erstellen einer Scala -Zukunft für jede Aufgabe, die eine längere Zeit als gewöhnlich dauert, andere Aufgaben parallel ausführen können. Dies speichert Ihre Berechnungszeit, ohne den normalen Fluss Ihres Programms zu blockieren.

Beispiele für die Verwendung von Scala -Futures

Wenn Sie die Scala -Futures in Ubuntu 20 verwenden möchten.04, dann helfen die folgenden beiden Beispiele Ihnen dabei, dies zu tun.

Beispiel Nr. 1: Erste Schritte mit Scala -Futures

In diesem Beispiel möchten wir Ihnen nur die allgemeine Syntax der Verwendung der Scala -Futures mitteilen. Um das zu lernen, müssen Sie sich den unten angegebenen Scala -Code ansehen:

Um die Scala -Futures zu verwenden, müssen Sie zunächst die beiden erforderlichen Bibliotheken importieren i.e., „Scala.gleichzeitig._ "Und" Scala ".gleichzeitig.ExecutionContext.Implizit.global “. Nach dem Import dieser Bibliotheken müssen Sie als nächstes eine ausführbare Klasse erstellen. Wir haben eine Klasse mit dem Namen "Test" mit Hilfe des Schlüsselworts "Objekt" erstellt. In dieser ausführbaren Klasse haben wir dann eine Treiberfunktion „main ()“ in dem in dem wir einen Wert namens „Fut“ erstellt haben, erstellt haben. Dann haben wir ihm eine Skala -Zukunft zugewiesen. In dieser Zukunft wollten wir zwei verschiedene Aufgaben ausführen.

Aufgrund der ersten Aufgabe setzen wir unser Programm im Grunde genommen für 1 Sekunde in den Schlaf ein. Dann wollten wir das Ergebnis der Aussage "21 + 21" berechnen. Wir möchten jedoch hier sagen, dass diese zweite Aufgabe erst ausgeführt wird, nachdem die erste Erklärung ihre Ausführung abgeschlossen hat. Dann wollten wir das Ergebnis der „Fut“ -Variable drucken. Dieses Ergebnis wird „nicht abgeschlossen“ zurückgegeben, wenn die Ausführung der oben genannten Zukunft noch anhängig sein wird. Andernfalls wird das Ergebnis der zweiten Anweisung berechnet. Daher werden beide Aufgaben erfolgreich erledigt. Schließlich wollten wir eine Nachricht auf dem Terminal drucken, die dem Benutzer darüber informiert, dass die Ausführung dieser Funktion teilweise abgeschlossen ist.

Wir werden dieses Scala -Skript nur dann ausführen können, wenn es erfolgreich zusammengestellt wird, was mit dem folgenden Befehl erfolgen kann:

$ scalac futures.Scala

Sobald dieses Skala -Skript gut zusammengestellt wird, können wir es mit dem unten angegebenen Befehl ausführen:

$ scala test

Die Ausgabe, die durch dieses Scala -Skript erzeugt wird, wird im folgenden Bild angezeigt. Es zeigte die Verwendung von Scala -Futures in Ubuntu 20.04.

Beispiel Nr. 2: Ausführen von zwei unabhängigen Aufgaben- eine mit den Scala-Futures und einen normal

Jetzt werden wir einen Schritt weiter gehen, indem wir Ihnen ein praktisches Beispiel für die Verwendung von Scala -Futures in Ubuntu 20 erklären.04. In diesem Beispiel werden wir zwei verschiedene Aufgaben ausführen. Der erste wird mit der Scala -Futures erreicht, während der zweite normal ausgeführt wird. Wir haben die erste Aufgabe absichtlich so gestaltet, dass ihre Ausführung einige Zeit dauern wird. Genau deshalb haben wir diese Aufgabe in der Scala -Zukunft beigefügt. Was die zweite Aufgabe angeht, wurde sie jedoch so konzipiert, dass sie schnell ausgeführt wird. Auf diese Weise erhalten wir die Ausgabe der zweiten Aufgabe, bevor wir die Ausgabe der ersten Aufgabe erhalten. Um diese Funktionalität zu verstehen, müssen Sie sich das unten gezeigte Scala -Skript ansehen:

Auch in diesem Skala -Skript haben wir die beiden erforderlichen Bibliotheken zuerst importiert. Dann haben wir die Treiberklasse und die Treiberfunktion auf die gleiche Weise erstellt wie im obigen Beispiel. Danach haben wir einen Wert namens "Fut" erstellt. Dazu haben wir die Scala -Zukunft zugewiesen, in der wir einen Thread verwendet haben, der die Funktion „Schlaf“ für eine Sekunde nennt. Dann haben wir einen Wert mit dem Namen "X" erstellt und ihm das Ergebnis der Anweisung "2+2" zugewiesen. Danach wollten wir diesen Wert auf dem Terminal ausdrucken und dann eine Nachricht drucken, dass die zweite Aufgabe i.e., Die Berechnung von „X“ wurde erfolgreich abgeschlossen. Dann wollten wir den Wert der „Fut“ -Variablen drucken, die von der Ausführung unserer Scala -Zukunft abhängt. Schließlich wollten wir eine Nachricht auf dem Terminal drucken, um den Benutzer darüber zu informieren.

Nach der Zusammenstellung und Ausführung dieses Skala -Skripts erschien die folgende Ausgabe am Terminal. In dieser Ausgabe zunächst das Ergebnis unserer zweiten Aufgabe i.e., 2+2 wurde auf dem Terminal gedruckt, das „4“ ist. Dann wurde uns mitgeteilt, dass die zweite Aufgabe erfolgreich ausgeführt wurde. Danach wurde das Ergebnis unserer „Zukunft“ auf dem Terminal gedruckt, gefolgt von einer weiteren Erfolgsnachricht.

Abschluss

Wir wollten Sie in das Konzept der Scala -Futures in Ubuntu 20 vorstellen.04 Mit Hilfe dieses Leitfadens. Erstens haben wir Ihnen mitgeteilt, was Scala -Futures sind und wie sie sich auf das Konzept von Fäden und Parallelität beziehen. Danach haben wir ein solides Verständnis der Scala -Futures festgelegt, indem wir den Zweck der Verwendung angab. Dann haben wir zwei sehr grundlegende Beispiele implementiert, die dieses wichtige Konzept in der Scala -Programmiersprache verwendet haben, um Parallelität zu erreichen. Mit Hilfe dieses Handbuchs und diesen Beispielen können Sie komplexere Beispiele implementieren, in denen Sie mit Hilfe von Scala -Futures mehrere Aufgaben gleichzeitig ausführen können.