Futuros de Scala

Futuros de Scala
A veces, mientras realizan cálculos complejos, esperamos que nuestros programas realicen diferentes tareas al mismo tiempo para tener una mejor velocidad y eficiencia. Este concepto juega un papel vital, especialmente cuando no queremos que las tareas que requieran mucho tiempo bloqueen todo nuestro procesamiento. En el lenguaje de programación de Scala, la funcionalidad de los hilos se puede lograr mediante el uso de futuros de Scala y aprenderemos más sobre ellos en este artículo.

¿Cuáles son los futuros de Scala y cuál es el propósito de usarlos??

Hemos declarado en la introducción que los futuros de Scala tienen el mismo propósito que los hilos en cualquier otro lenguaje de programación I.mi., concurrencia. Significa que al crear un futuro Scala para cualquier tarea que se espera que lleve más tiempo de lo habitual de ejecutar, puede realizar otras tareas en paralelo. Esto ahorrará su tiempo de cálculo sin bloquear el flujo normal de su programa.

Ejemplos de uso de futuros de Scala

Si desea utilizar los futuros de Scala en Ubuntu 20.04, entonces los siguientes dos ejemplos lo ayudarán bien a hacerlo.

Ejemplo # 1: Comenzando con futuros de Scala

En este ejemplo, solo deseamos compartir con usted la sintaxis general de usar los futuros de Scala. Para aprender eso, debe echar un vistazo al código SCALA que se muestra a continuación:

Para usar los futuros de Scala, primero debe importar las dos bibliotecas requeridas i.mi., "Scala.concurrente._ "Y" Scala.concurrente.Ejecutorcontext.Implicados.global". Después de importar estas bibliotecas, lo siguiente que debe hacer es crear una clase ejecutable. Hemos creado una clase llamada "prueba" con la ayuda de la palabra clave "objeto". Luego, dentro de esta clase ejecutable, hemos creado una función de controlador "main ()" dentro del cual hemos creado un valor llamado "FUT". Entonces, le hemos asignado un futuro Scala. Dentro de este futuro, queríamos realizar dos tareas diferentes.

Debido a la primera tarea, básicamente estamos poniendo nuestro programa a dormir durante 1 segundo. Luego, queríamos calcular el resultado de la declaración "21 + 21". Sin embargo, nos gustaría decir aquí que esta segunda tarea solo se ejecutará después de que la primera declaración completará su ejecución. Luego, queríamos imprimir el resultado de la variable "FUT". Este resultado devolverá "no completado" si la ejecución del futuro mencionado anteriormente seguirá pendiente; de lo contrario, se calculará el resultado de la segunda declaración. Por lo tanto, ambas tareas se completará con éxito. Finalmente, queríamos imprimir un mensaje en el terminal que notificará al usuario que la ejecución de esta función se completa parcialmente.

Podremos ejecutar este script de Scala solo una vez que se compile con éxito, lo que se puede hacer con el siguiente comando:

$ FUTUROS DEL SALAC.Escala

Una vez que este script de Scala se compilará bien, podemos ejecutarlo con el comando que se muestra a continuación:

Prueba de $ Scala

La salida producida por este script de Scala se muestra en la siguiente imagen. Representaba el uso de futuros de Scala en Ubuntu 20.04.

Ejemplo # 2: Ejecución de dos tareas independientes: una con los futuros de Scala y otra normalmente

Ahora, llevaremos un paso más al explicarle un ejemplo práctico de usar futuros de Scala en Ubuntu 20.04. En este ejemplo, realizaremos dos tareas diferentes. El primero se logrará utilizando los futuros de Scala, mientras que el segundo se ejecutará normalmente. Hemos diseñado intencionalmente la primera tarea de una manera que su ejecución llevará algún tiempo. Esta es exactamente la razón por la que hemos adjunto esta tarea dentro del futuro de Scala. Sin embargo, en lo que respecta a la segunda tarea, se ha diseñado de manera que se ejecutará rápidamente. De esta manera, recibiremos la salida de la segunda tarea antes de recibir la salida de la primera tarea. Para comprender esta funcionalidad, tendrá que consultar el script de Scala que se muestra a continuación:

Nuevamente, en este script de Scala, primero hemos importado las dos bibliotecas requeridas. Luego, hemos creado la clase del controlador y la función del controlador de la misma manera que lo hemos hecho en el ejemplo anterior. Después de eso, hemos creado un valor llamado "FUT". A esto, hemos asignado el futuro Scala en el que hemos usado un hilo que llame a la función de "dormir" para un segundo. Luego, creamos un valor llamado "x" y le hemos asignado el resultado de la declaración "2+2". Después de eso, queríamos imprimir este valor en el terminal y luego, imprimir un mensaje que la segunda tarea I.mi., El cálculo de "x" se ha completado con éxito. Luego, queríamos imprimir el valor de la variable "FUT" que dependerá de la ejecución de nuestro futuro Scala. Finalmente, queríamos imprimir un mensaje en el terminal para notificar al usuario que ahora, la primera tarea también se ha completado.

Después de la compilación y ejecución de este script de Scala, apareció la siguiente salida en el terminal. En esta salida, primero, el resultado de nuestra segunda tarea I.mi., 2+2 se imprimió en el terminal que es "4". Luego, nos notificaron que la segunda tarea se ha realizado con éxito. Después de eso, el resultado de nuestro "futuro" se imprimió en la terminal seguido de otro mensaje de éxito.

Conclusión

Queríamos presentarle el concepto de futuros de Scala en Ubuntu 20.04 con la ayuda de esta guía. Primero, compartimos con usted qué son los futuros de Scala y cómo se relacionan con el concepto de hilos y concurrencia. Después de eso, establecimos una buena comprensión de los futuros de Scala al afirmar el propósito de usarlos. Luego, implementamos dos ejemplos muy básicos que hicieron uso de este importante concepto en el lenguaje de programación de Scala para lograr la concurrencia. Con la ayuda de esta guía y estos ejemplos, puede implementar ejemplos más complejos en los que podrá ejecutar múltiples tareas simultáneamente con la ayuda de los futuros de Scala.