1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
import multiprocessing def funcion_proceso_1(valor_compartido): valor_compartido.value = 42 def funcion_proceso_2(valor_compartido): print("El valor compartido es:", valor_compartido.value) if __name__ == '__main__': # Crear el valor compartido valor_compartido = multiprocessing.Value('i', 0) # Crear los procesos proceso1 = multiprocessing.Process(target=funcion_proceso_1, args=(valor_compartido,)) proceso2 = multiprocessing.Process(target=funcion_proceso_2, args=(valor_compartido,)) # Iniciar los procesos proceso1.start() proceso2.start() # Esperar a que terminen los procesos proceso1.join() proceso2.join() |
En este ejemplo, se crea un valor compartido de tipo entero ('i'
) utilizando la función Value
del módulo multiprocessing
. Luego, se crean dos procesos utilizando la clase Process
, y se les pasa el valor compartido como argumento utilizando la sintaxis (valor_compartido,)
. En la función funcion_proceso_1
, se modifica el valor compartido asignándole el valor 42
. En la función funcion_proceso_2
, se imprime el valor actual del valor compartido.
Finalmente, se inician los procesos utilizando el método start()
, y se espera a que terminen utilizando el método join()
.