Vlákna#
Zavedení#
Vlákna umožňují ovladači dronu VEX AIR spouštět více úloh současně v rámci stejného programu. Umožňují multitasking, který dronu VEX AIR umožňuje provádět nezávislé akce současně.
Poznámka: Abyste mohli funkci použít s vláknem, musíte ji nejprve definovat.
Konstruktor – Vytváření a zakládání nových vláken.
Thread– Spustí nové vlákno, které spouští zadanou funkci paralelně s hlavním programem.
Konstruktor#
Thread#
Thread vytváří a spouští vlákno. Při vytváření vlákna ho můžete pojmenovat, abyste ho zastavili, když již není potřeba.
Používání:
my_thread = Thread(my_function)
Parametry |
Popis |
|---|---|
|
Volitelné. Název nového vlákna. |
|
Název dříve definované funkce. |
Poznámka: Funkce musí být vždy definována před svým voláním.
# 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)