es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Ejecutar simultáneamente dos scripts de Python.

Necesito ejecutar dos scripts simultáneamente en dos hilos diferentes. El primero es una captura en bucle de un flujo de webcam, mientras que el segundo es una animación en bucle, me gustaría ejecutar ambos al mismo tiempo, pero cuando creo los dos hilos, solo se inicia el primero y el segundo no. Ambos scripts son bucles que terminan cuando se presiona la tecla Esc.

Este es el script principal:

“`import threading
import os

def videoStream():
os.system(‘python cv2stream.py’)

def expressions():
os.system(‘python expression.py’)

vs = threading.Thread(target=videoStream())
ex = threading.Thread(target=expressions())
vs.start()
ex.start()
vs.join()
ex.join()

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Es posible que los dos hilos estén interfiriendo entre sí. Para evitar esto, se puede usar el método threading.Lock() para asegurarse de que solo se ejecute un hilo a la vez.

    Por ejemplo:

    “`import threading
    import os

    lock = threading.Lock()

    def videoStream():
    with lock:
    os.system(‘python cv2stream.py’)

    def expressions():
    with lock:
    os.system(‘python expression.py’)

    vs = threading.Thread(target=videoStream())
    ex = threading.Thread(target=expressions())
    vs.start()
    ex.start()
    vs.join()
    ex.join()
    “`

Comments are closed.