Threads#
Einführung#
Threads ermöglichen es dem VEX AIR Drohnen-Controller, mehrere Aufgaben gleichzeitig innerhalb desselben Programms auszuführen. Sie ermöglichen Multitasking und erlauben der VEX AIR Drohne, gleichzeitig unabhängige Aktionen durchzuführen.
Hinweis: Sie müssen zuerst eine Funktion definieren, um sie mit einem Thread verwenden zu können.
Konstruktor – Neue Threads erstellen und starten.
Thread– Startet einen neuen Thread, der die angegebene Funktion parallel zum Hauptprogramm ausführt.
Konstruktor#
Thread#
Thread erstellt und startet einen Thread. Beim Erstellen eines Threads kann man ihm einen Namen geben, um ihn zu beenden, sobald er nicht mehr benötigt wird.
Verwendung:
my_thread = Thread(my_function)
Parameter |
Beschreibung |
|---|---|
|
Optional. Ein Name für den neuen Thread. |
|
Der Name einer zuvor definierten Funktion. |
Hinweis: Eine Funktion muss *immer vor ihrem Aufruf definiert werden.
# 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)