Fils#
Introduction#
Les threads permettent au contrôleur du drone VEX AIR d’exécuter plusieurs tâches simultanément au sein d’un même programme. Ils rendent possible le multitâche, permettant ainsi au drone VEX AIR d’effectuer des actions indépendantes en même temps.
Remarque : Vous devez d’abord définir une fonction pour l’utiliser avec un thread.
Constructeur – Créer et démarrer de nouveaux threads.
Thread– Démarre un nouveau thread qui exécute la fonction spécifiée en parallèle avec le programme principal.
Constructeur#
Thread#
La commande Thread crée et démarre un thread. Lorsque vous créez un thread, vous pouvez le nommer pour l’arrêter lorsqu’il n’est plus nécessaire.
Usage:
my_thread = Thread(my_function)
Paramètres |
Description |
|---|---|
|
Facultatif. Un nom pour la nouvelle discussion. |
|
Le nom d’une fonction précédemment définie. |
Remarque : Une fonction doit toujours être définie avant d’être appelée.
# 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)