‫Y en este video, vamos a cubrir Kyuss y veremos cómo usar las señales en nuestras
‫aplicaciones, las señales son importantes y nuestro sistema operativo las usa mucho, por ejemplo, para manejar tareas, programación
‫y muchos otros procesos.
‫Las señales deben usarse cuando el orden de los datos es importante, como veremos en nuestro ejemplo.
‫Así que sigamos adelante y, en primer lugar, definamos una cola para definir una cola que pueda utilizar para hacer cola.
‫Las colas de palabras clave también forman parte de las colecciones genéricas, lo que significa que debemos definir qué
‫tipo de cola de tipo A.
‫Entonces, en este caso, contendrá un montón de números enteros, pero también podría contener cualquier otro tipo.
‫Podría contener cuerdas, podría contener incluso todo el objeto.
‫De modo que tiene total libertad para definir lo que quiera que contenga este elemento.
‫Entonces cola, luego menos que firmar, integrar y firmar y luego el nombre de la cola es igual y luego
‫puede inicializarlo de inmediato como lo hacemos aquí, donde simplemente creamos una cola vacía que contiene números enteros.
‫Bien, ahora podemos continuar y agregar elementos a esta cola.
‫Para agregar elementos para acusar, puede utilizar el método NQ.
‫El método NQ agrega un objeto al final de la cola.
‫Bien, entonces si agrego un elemento como uno, por ejemplo, este elemento será el primero porque si bien es
‫el primero que incluimos, también será el último.
‫De acuerdo, tan pronto como agreguemos otro, el nuevo elemento será el último elemento de la cola.
‫Bien, así es como se hace el pedido.
‫Es similar a una pila, pero la diferencia es que una cola cuando te deshaces de algo, así
‫que cuando sacas un elemento, lo tomará desde el principio de la cola.
‫Por lo tanto, el otro elemento que se creó primero se eliminará o saldrá de la cola, por así
‫decirlo.
‫De acuerdo, entonces para ver los elementos de Qs, podemos usar el método de pico y este método mostrará el primer elemento de la cola, por lo
‫tanto, al frente de la cola, por así decirlo.
‫Así que es como una cola de personas donde estás en el mostrador y quieres pedir algo, por ejemplo, entonces
‫el método te dará la primera persona en esa cola que está a punto de ordenar.
‫Bien, ejecutemos esto muy rápido y veamos cómo se verá.
‫Y vemos que el valor al principio de la cola es uno.
‫Ahora, agreguemos un par de valores más para ver cómo afectará eso a nuestra aplicación.
‫Entonces, aquí voy a agregar los diferentes elementos de la cola, así que terminaré el T1, el T2 y el T3 y solo estoy usando
‫estos números.
‫Uno dos tres.
‫También podrían ser otros números.
‫Realmente no tiene que ser uno, dos, tres.
‫Bien, con el pico, obtenemos el elemento que está al principio de la cola.
‫Puede ver cada vez, sin importar lo que agreguemos a la cola, el primero será nuestro primer elemento en
‫la cola.
‫Así que será el que se muestre cuando solíamos echar un vistazo al método.
‫Ahora, para deshacerse de un elemento de la cola, debe usar el método de sacar de cola.
‫Bien, aquí tienes el punto de la cola.
‫Entonces, esta eliminación ahora eliminará el primer número entero de nuestra cola y también lo almacenará de inmediato.
‫Entonces podríamos almacenar esto, llamemos a este elemento de la cola, por ejemplo, y luego almacenará el resultado de
‫este elemento de la cola.
‫Entonces, básicamente, almacenará uno allí porque es el primer elemento que tenemos en la lista.
‫Y luego aparecerá Pekín también, porque ahora ya no hay uno.
‫El primer elemento se ha ido.
‫Así que ahora el valor en la cola será dos porque, bueno, acabamos de descubrir el primer elemento.
‫Así que es similar a hacer estallar en una pila, pero quita el elemento al principio de la cola en lugar
‫de al final de la cola o al final del palo, como quieras verlo.
‫Por supuesto, también puede intentar retirar un elemento al principio, si no hay elementos dentro del cubo,
‫pero se encontrará con una excepción de operación no válida, la cola está vacía, por lo que
‫deberá verificar si la cola está vacío o no antes de ejecutar esto.
‫Entonces, aquí podemos ejecutar el método de eliminación de cola porque sabemos que acabamos de descubrir algo.
‫Pero de lo contrario, usaría la propiedad de recuento de su cola para averiguar cuántos elementos tiene
‫allí.
‫Entonces, esta es la propiedad que puede usar, obtiene la cantidad de elementos contenidos en la cola
‫y luego puede verificar si ese es mayor que cero, por ejemplo, para verificar si hay algo en
‫la cola que pueda, por ejemplo , quitar de la cola.
‫Bien, en este ejemplo en particular, seguiré adelante y usaré my.
‫Q Cuente para verificar dos veces en un ciclo while, y para cada elemento individual, lo quitaré de la cola y también escribiré
‫la cantidad de elementos que todavía están en la Q y también el elemento que se eliminó.
‫Entonces, esta línea aquí eliminará el elemento llamando al método dequeue y, al mismo tiempo, mostrará el elemento
‫aquí porque eso es lo que estamos usando aquí.
‫Estamos usando la cuerda.
‫Derecha.
‫Y con esta posición cero, mostrará lo que sea el resultado de la llamada de cola.
‫Y como puede ver aquí, el método de eliminación de cola devolverá un número entero.
‫Entonces mostraremos un número aquí.
‫De acuerdo, déjeme deshacerme de este quitar de cola que usé aquí para demostrar cómo quitar un elemento de la
‫cola y ejecutarlo nuevamente y podrá ver el valor diferente a este.
‫Y luego, básicamente, comenzamos el bucle de cables aquí.
‫Esa es la parte interesante.
‫Entonces se quita una palabra del cubo.
‫Ahora, solo nos quedan dos elementos.
‫Dos fueron removidos de la CUNA.
‫Solo nos queda un elemento y se eliminaron tres del cubo.
‫Ahora solo nos quedan cero elementos.
‫Entonces, básicamente, la Q está vacía en ese punto.
‫Muy bien, veamos un ejemplo más o menos del mundo real, por supuesto, no trabajamos con bases
‫de datos en este simple ejemplo aquí, pero digamos que tenemos una plataforma de comercio electrónico y somos un vendedor y recibimos un
‫montón de pedidos.
‫Estos pedidos deben procesarse de modo que el tiempo de servicio, por lo que el tiempo de espera para el cliente debe
‫mantenerse al mínimo.
‫Por eso vamos a utilizar Qs porque son muy prácticos ya que nos preocupamos por
‫el orden de entrada de los pedidos.
‫Entonces, el orden de los pedidos, eso es un trabalenguas aquí, pero el orden en el que se recibieron los datos,
‫está bien, y con eso me refiero a los pedidos en sí.
‫Así que veamos esta clase muy simple que vamos a construir aquí y la voy a poner dentro
‫del mismo archivo aquí.
‫Pedido sin disco con una propiedad de ID de pedido, la propiedad de cantidad de pedido y luego el constructor, que básicamente establece
‫esos dos valores cuando creamos un objeto de pedido.
‫Y luego tenemos este mensaje de impresión o este método de proceso de pedido que imprimirá el ID de pedido del artículo
‫que estamos viendo actualmente.
‫Así que del orden que estamos viendo actualmente.
‫Bien, ahora lo que me gustaría hacer es crear métodos dentro de mi clase de
‫programa.
‫Así que todavía lo voy a poner aquí dentro de este soporte.
‫Y los métodos, se van a encargar de los pedidos de las distintas sucursales.
‫Digamos que tenemos dos sucursales diferentes de las que podemos obtener pedidos.
‫Digamos que estamos vendiendo en Amazon y al mismo tiempo en Best Buy, por ejemplo, y luego ahora
‫obtendremos esos pedidos.
‫Ahora bien, no vamos a complicar demasiado dónde vamos a comprobar qué rama es lo que hace el orden de las
‫diferentes ramas, o algo que, por supuesto, podrías ver como un desafío para ti mismo si quieres
‫desarrollar eso. .
‫Pero solo vamos a decir, está bien, dame las órdenes de cada uno en el orden correcto y dame
‫las órdenes de la sucursal en el orden correcto también.
‫Bien, aquí esta será la rama uno con un montón de órdenes y luego tenemos la rama dos con un montón de
‫palabras.
‫Entonces estamos obteniendo los datos.
‫Digamos que obtenemos estos datos de una base de datos donde estamos verificando, OK, ¿cuáles fueron los pedidos?
‫Y probablemente los verificaríamos por fecha para que cada pedido también tuviera una fecha.
‫Aquí tenemos el ID del pedido, pero normalmente también intentaríamos almacenarlo cuando se realizó el pedido, etc.
‫Pero lo mantendremos simple para este ejemplo.
‫Bien, ahora tenemos una serie de órdenes en ambos ejemplos.
‫Y cuando llamamos al método para recibir pedidos de las sucursales uno y dos, básicamente solo convertirán una matriz de
‫pedidos.
‫Así que aquí hay una serie de pedidos.
‫Bien, eso es lo que hace esta declaración aquí, órdenes de devolución.
‫Ahora, en nuestro ejemplo particular, el ID de pedido será de hecho único para los dos pedidos diferentes, por
‫lo que ya estarán en el orden correcto, por así decirlo.
‫De acuerdo, este es el pedido uno en el segundo, luego tenemos el pedido tres y cuatro y cinco de
‫la sucursal dos y luego en la noche y la sucursal uno, llegó otro pedido y alguien compró 10 de nuestros
‫artículos.
‫Ahora, en nuestro método principal, podemos crear una cola y de hecho nos deshacemos de todas estas cosas aquí y nuestro método principal,
‫ahora podemos seguir adelante y crear una cola de pedidos.
‫Bien, aquí, orden de la cola.
‫Puede ver que este no va a ser un tipo simple como entero ahora, pero en realidad va
‫a contener un montón de órdenes.
‫Eso es lo bueno de la cola.
‫Así que no son solo tipos simples y voy a llamar a esta cola de pedidos y la voy a inicializar de
‫inmediato aquí mismo.
‫Y luego, en este punto, podemos seguir adelante y poner en cola todos nuestros pedidos que obtenemos de la Rama uno usando esto para
‫el ciclo aquí, esto para cada ciclo.
‫Así que estamos revisando cada orden que voy a llamar O en esto para cada ciclo en esta iteración
‫en nuestra recepción de órdenes de la Rama uno.
‫Ahora bien, esto de aquí será de tipo matriz de orden.
‫De acuerdo, cuando llamemos a este método, devolverá una matriz de órdenes como puede ver aquí.
‫Básicamente, esto para cada ciclo pasará por las órdenes que tenemos dentro de esta matriz de órdenes y
‫revisará cada una de ellas.
‫Entonces todo será primero este orden, luego será este orden, luego será ese orden.
‫Y para cada uno de ellos, incluirá esos pedidos.
‫Bien, eso es lo que hace esto para cada ciclo.
‫Y luego creamos otro para cada bucle para la otra rama también.
‫Entonces.
‫Lo mismo ocurre aquí para cada bucle, todo en pedidos recibidos de la Rama dos.
‫Bien, este es el tipo de la Rama, esta es la Rama uno y se aplica lo mismo.
‫Entonces se aplica el mismo concepto.
‫Entonces, para los pedidos, revisaremos nuestra cola uno por uno y luego eliminaremos los elementos de nuestra cola y los
‫procesaremos hasta que nuestra cola esté vacía y todos los pedidos finalmente se procesen.
‫De acuerdo, es por eso que tenemos este método de procesamiento de pedidos aquí que procesará los pedidos.
‫Bien, ahora podemos seguir adelante.
‫Y en lugar de nuestro método principal aquí arriba, una vez que tenemos la cola de pedidos con
‫todos los artículos, podemos revisarla y podemos verificar si la cola de pedidos no está vacía y siempre que no esté vacía.
‫Por lo tanto, mientras la cola de pedidos, el recuento sea mayor que cero.
‫Vamos a ejecutar este ciclo while y vamos a eliminar el orden al principio de la cola.
‫Entonces, el orden que vino primero, por así decirlo, y almacenarlo en una variable llamada orden actual.
‫Bien, tenemos este objeto de pedido, que se llamará pedido actual, que básicamente será el resultado de
‫poner en cola el primer elemento de nuestra cola de pedidos.
‫Entonces, básicamente, quitando este artículo primero, luego este artículo, luego ese artículo, luego este artículo que ese y
‫ese otro, está bien, y luego procesará todos y cada uno de ellos paso a paso.
‫Entonces, procesar en nuestro caso será algo muy simple y lo imprimiremos en la consola.
‫Pero, por supuesto, aquí podría ejecutar algo mucho más complejo en segundo plano.
‫Esto podría desencadenar algunos eventos, enviar un correo electrónico, por ejemplo, a un empleado
‫que tiene que cuidarlo o cualquier sistema de procesamiento que haya empleado en su empresa.
‫Está bien.
‫Y sí, básicamente es eso.
‫Entonces, ahora ejecutemos esta aplicación para ver los resultados y podemos ver que se procesó el pedido uno,
‫se procesó el pedido dos, luego se procesó el pedido seis, luego tres, cuatro, cinco.
‫Bien, entonces estamos procesando las órdenes, por supuesto, en el orden en que las indicamos. Bien,
‫las ejecutamos.
‫Puede ver aquí que estamos en cola desde la sucursal uno primero y luego desde la sucursal dos.
‫Así que imagínense para el siguiente escenario donde los pedidos, se crean en el
‫sistema internamente, pero primero tienen que ser aceptados y enviados completamente a la entidad de procesamiento, cualquiera que sea esa
‫entidad, como la otra oficina también, por ejemplo.
‫Y lo hacen al final del día, por ejemplo.
‫Así que First Branch uno termina su personal y ellos dicen, OK, bueno, aceptamos esos pedidos.
‫Y luego ese mismo día, porque digamos que están en una zona horaria diferente.
‫Por ejemplo, la rama dos dice, sí, estamos de acuerdo.
‫Bueno, también enviamos nuestros pedidos aprobados en ese momento, y luego se comienzan a procesar.
‫Bien, así es como se podría considerar este ejemplo, por ejemplo.
‫Derecha.
‫De lo contrario, por supuesto, los solicitaría de inmediato en función de su ID o en función de la hora en
‫que fueron creados.
‫De acuerdo, todo correcto.
‫Así que ahora tiene una cierta idea de cómo funcionan estos pedidos y cómo funcionan las colas.
‫Esa es la parte más importante.
‫Así que ahora puede crear sus propias colas y utilizarlas en sus aplicaciones.
‫Está bien.
‫Espero que hayas disfrutado de este video.
‫Nos vemos en el próximo.