Trådar#

Introduktion#

Trådar gör det möjligt för VEX AIR-drönarkontrollen att köra flera uppgifter samtidigt inom samma program. De möjliggör multitasking, vilket gör att VEX AIR-drönaren kan utföra oberoende åtgärder samtidigt.

Obs: Du måste först definiera en funktion för att kunna använda den med en tråd.

Konstruktör – Skapa och starta nya trådar.

  • Thread – Startar en ny tråd som kör den angivna funktionen parallellt med huvudprogrammet.

Konstruktör#

Thread#

Thread skapar och startar en tråd. När du skapar en tråd kan du namnge den för att stoppa den när den inte längre behövs.

Användande:

my_thread = Thread(my_function)

Parametrar

Beskrivning

my_thread

Valfritt. Ett namn för den nya tråden.

callback

Namnet på en tidigare definierad funktion.

Obs: En funktion måste alltid definieras innan den anropas.

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