Cola de multiprocesamiento de Python

Cola de multiprocesamiento de Python

El elemento más crucial de la estructura de datos es la cola. La cola de estructura de datos "Primero en, primero fuera", que es la base del multiprocesamiento de Python es comparable. Las colas se proporcionan a la función del proceso para permitir que el proceso recopile los datos. El primer elemento de datos que se eliminará de la cola es el primer elemento que se ingresará. Utilizamos el método "put ()" de la cola para agregar los datos a la cola y su método "get ()" para recuperar los datos de la cola.

Ejemplo 1: Uso del método Queue () para crear una cola de multiprocesamiento en Python

En este ejemplo, creamos una cola de multiprocesamiento en Python usando el método "Queue ()". El multiprocesamiento se refiere al uso de una o más CPU en un sistema para realizar dos o más procesos simultáneamente. El multiprocesamiento, un módulo construido en Python, facilita el cambio entre procesos. Debemos estar familiarizados con la propiedad del proceso antes de trabajar con multiprocesamiento. Somos conscientes de que la cola es un componente crucial del modelo de datos. La cola de datos estándar, que se basa en la idea de "primera en primera salida", y el multiprocesamiento de Python son contrapartes exactos. En general, la cola almacena el objeto Python y es crucial para la transferencia de datos entre tareas.

La herramienta "Spyder" se utiliza para implementar el script de Python presente, así que simplemente comencemos. Primero debemos importar el módulo de multiprocesamiento porque estamos ejecutando el script de multiprocesamiento de Python. Hicimos esto importando el módulo de multiprocesamiento como "M". Utilizarlos.Técnica de Queue () ", invocamos el método de multiprocesamiento" Queue () ". Aquí, creamos una variable llamada "cola" y colocamos el método "queue ()" de multiprocesamiento en él. Como sabemos que la cola almacena elementos en un pedido de "primera entrada, primera salida", el elemento que agregamos primero se elimina primero. Después de lanzar la cola de multiprocesamiento, luego llamamos al método "print ()", pasando la declaración "Hay una cola de multiprocesamiento" como su argumento para mostrarlo en la pantalla. Luego, debido a que almacenamos la cola construida en esta variable, imprimimos la cola pasando la variable "cola" en la paréntesis del método "imprime ()".


La siguiente imagen muestra que la cola de multiprocesamiento de Python ahora está construida. La declaración de impresión se muestra primero. Después de construir esta cola de multiprocesamiento en la dirección de memoria designada, se puede utilizar para transferir los datos distintos entre dos o más procesos de ejecución.

Ejemplo 2: utilizando el método "QSize ()" para determinar el tamaño de la cola de multiprocesamiento en Python

Determinamos el tamaño de la cola de multiprocesamiento en este caso. Para calcular el tamaño de la cola de multiprocesamiento, usamos el método "QSize ()". La función "QSize ()" devuelve el tamaño real de la cola de multiprocesamiento de Python. En otras palabras, este método proporciona el número total de elementos en una cola.

Comencemos por importar el módulo de multiprocesamiento de Python como "M" antes de ejecutar el código. Entonces, usando el "M.comando queue () ", invocamos la función" Queue () "multiprocesamiento y colocamos el resultado en la variable" cola ". Luego, usando el método "Put ()", agregamos los elementos a la cola en la siguiente línea. Este método se utiliza para agregar los datos a una cola. Por lo tanto, llamamos "cola" con el método "put ()" y suministramos los números enteros como su elemento en su paréntesis. Los números que agregamos son "1", "2", "3", "4", "5", "6 y" 7 "usando las funciones" put () ".

Además, usando "cola" para obtener el tamaño de la cola de multiprocesamiento, llamamos al "QSize ()" con la cola de multiprocesamiento. Luego, en la variable de "resultado" recién formada, guardamos el resultado del método "QSize ()". Después de eso, llamamos al método "print ()" y pasamos la declaración "El tamaño de la cola de multiprocesamiento es" como su parámetro. A continuación, llamamos a la variable "resultado" en la función "print ()" ya que el tamaño se guarda en esta variable.


La imagen de salida tiene el tamaño que se muestra. Como usamos la función "Put ()" para agregar siete elementos a la cola de multiprocesamiento y la función "QSize ()" para determinar el tamaño, se muestra el tamaño de la cola de multiprocesamiento "7". La declaración de entrada "el tamaño de la cola de multiprocesamiento" se muestra antes del tamaño.

Ejemplo 3: Uso del método "put ()" y "get ()" en la cola de multiprocesamiento de Python

Los métodos de cola "Put ()" y "Get ()" de la cola de multiprocesamiento de Python se utilizan en este ejemplo. Desarrollamos dos funciones definidas por el usuario en este ejemplo. En este ejemplo, definimos una función para crear un proceso que produzca "5" enteros aleatorios. También usamos el método "put ()" para agregarlos a una cola. El método "put ()" se usa para colocar los elementos en la cola. Luego, para recuperar los números de la cola y devolver sus valores, escribimos otra función y la llamamos durante el procedimiento. Usamos la función "get ()" para recuperar los números de la cola, ya que este método se utiliza para recuperar los datos de la cola que insertamos usando el método "put ()".

Comencemos a implementar el código ahora. Primero, importamos las cuatro bibliotecas que componen este script. Primero importamos "dormir" desde el módulo de tiempo para retrasar la ejecución durante algún tiempo medido en segundos, seguido de "aleatorio" del módulo aleatorio que se utiliza para generar números aleatorios, luego "procesar" desde el multiprocesamiento porque este código crea un proceso , y finalmente, la "cola" del multiprocesamiento. Al construir inicialmente una instancia de clase, la cola se puede usar. Por defecto, esto establece una cola infinita o una cola sin tamaño máximo. Al establecer la opción de tamaño máximo en un número que es mayor que cero, es posible hacer una creación con una restricción de tamaño.


Definimos una función. Luego, dado que esta función está definida por el usuario, le damos el nombre de "función1" y pasamos el término "cola" como argumento. Después de eso, invocamos la función "print ()", pasándola como "Builder: Running", "Flush" y las declaraciones del objeto "verdadero" . La función de impresión de Python tiene una opción única llamada FLUSH que permite al usuario elegir si buffer o no esta salida. El siguiente paso es generar la tarea. Para hacer esto, usamos "para" y creamos la variable "M" y establecemos el rango en "5". Luego, en la siguiente línea, use "Random ()" y almacene el resultado en la variable que hicimos, que es "Valor."Esto indica que la función ahora termina sus cinco iteraciones, con cada iteración creando un entero aleatorio de 0 a 5.

Luego, en el siguiente paso, llamamos a la función "Sleep ()" y pasamos el argumento "Valor" para retrasar la porción por un cierto número de segundos. Luego, llamamos a la "cola" con el método "put ()" para agregar esencialmente el valor a la cola. Luego se informa al usuario que no hay más trabajo por hacer invocando la "cola.Método de put () "una vez más y pasar el valor" ninguno ". Luego, ejecutamos el método "print ()", pasamos la declaración "Builder: Ready" junto con "Flush" y lo establecemos en "Verdadero".


Ahora definimos una segunda función, "function2" y asignamos la palabra clave "cola" como argumento. Luego, llamamos a la función "print ()" al aprobar el informe, los estados "Usuario: Ejecutar" y "Flush", que se establece en "Verdadero". Comenzamos el funcionamiento de "Función2" utilizando la condición real While para sacar los datos de la cola y lo colocamos en la variable "elemento" recién creada. Luego, usamos la condición "si", "El elemento no es ninguno", para interrumpir el bucle si la condición es verdadera. Si no hay ningún artículo disponible, se detiene y le pide al usuario uno. La tarea detiene el bucle y finaliza en este caso si el elemento que se obtiene del valor es nulo. Luego, en el siguiente paso, llamamos a la función "print ()" y proporcionamos el informe "Usuario: Ready" y los parámetros "Flush = True" a ella.


Luego, ingresamos al proceso principal utilizando el "if-name = main_". Creamos una cola llamando al método "cola ()" y almacenándolo en la variable "cola". A continuación, creamos un proceso llamando a la función del usuario "función2". Para esto, llamamos a la clase de "proceso". Dentro de él, pasamos el "Target = Function2" para llamar a la función en el proceso, pasar el argumento "cola" y almacenarlo en la variable "user_process". El proceso luego comienza llamando al método "inicio ()" con la variable "Proceso de usuario". Luego repitimos el mismo procedimiento para llamar a la "función1" en el proceso y colocarlo en la variable "Proceso de constructor". Luego, llamamos a los procesos con el método "unir ()" para esperar la ejecución.


Ahora que se presenta, puede ver las declaraciones de ambas funciones en la salida. Muestra los elementos que agregamos utilizando el "put ()" y "get ()" utilizando los métodos "get ()", respectivamente.

Conclusión

Aprendimos sobre la cola de multiprocesamiento de Python en este artículo. Utilizamos las ilustraciones dadas. Al principio, describimos cómo crear una cola en el multiprocesamiento de Python usando la función Queue (). Luego, utilizamos el método "QSize ()" para determinar la cola . También utilizamos los métodos Put () y Get () de la cola. La clase de sueño del módulo de tiempo y la clase aleatoria del módulo aleatorio se discutieron en el último ejemplo.