Szálak#

Bevezetés#

A szálak lehetővé teszik a VEX AIR drónvezérlő számára, hogy több feladatot futtasson egyszerre ugyanazon a programon belül. Lehetővé teszik a multitaskingot, lehetővé téve a VEX AIR drón számára, hogy egyszerre független műveleteket hajtson végre.

Note: You must first define a function to use it with a thread.

Konstruktor – Új szálak létrehozása és indítása.

  • Threadszál – Elindít egy új szálat, amely a megadott függvényt a főprogrammal párhuzamosan futtatja.

Konstruktőr#

Thread#

Thread szál létrehoz és elindít egy szálat. Amikor létrehozol egy szálat, elnevezheted, hogy leállítsd, amikor már nincs rá szükség.

Használat:

my_thread = Thread(my_function)

Paraméterek

Leírás

my_thread

Opcionális. Az új szál neve.

callback

Egy korábban definiált függvény neve.

Megjegyzés: Egy függvényt mindig definiálni kell, mielőtt meghívnánk.*

# 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)