Hilos#

Introducción#

Las roscas permiten que el controlador de drones VEX AIR ejecute múltiples tareas simultáneamente dentro del mismo programa. Permiten la multitarea, permitiendo que el dron VEX AIR realice acciones independientes al mismo tiempo.

Nota: Debes definir primero una función para usarla con un hilo.

Constructor: crea e inicia nuevos subprocesos.

  • Thread – Inicia un nuevo hilo que ejecuta la función especificada en paralelo con el programa principal.

Constructor#

Thread#

Thread crea e inicia un subproceso. Cuando creas un hilo, puedes nombrarlo para detenerlo cuando ya no sea necesario.

Uso:

my_thread = Thread(my_function)

Parámetros

Descripción

my_thread

Opcional. Un nombre para el nuevo hilo.

callback

El nombre de una función previamente definida.

Nota: Una función debe definirse siempre antes de que se llame.

# Only play sounds when the drone moves laterally
def moving_sounds():
    while True:
        if drone.is_move_active():
            controller.sound.play(LOOPING)
            while controller.sound.is_active():
                wait(50, MSEC)
        wait(5, MSEC)

# Run moving_sounds at the same time
moving_sounds_thread = Thread(moving_sounds)

# Fly the drone using the controller
drone.take_off(climb_to=500)
while True:
    drone.move_with_vectors(
        forward=controller.axis4.position(),
        rightward=controller.axis3.position(),
        upward=controller.axis1.position(),
        rotation=controller.axis2.position()
    )
    wait(5, MSEC)