Нити#
Введение#
Потоки позволяют контроллеру дрона VEX AIR выполнять несколько задач одновременно в рамках одной программы. Они обеспечивают многозадачность, позволяя дрону VEX AIR выполнять независимые действия одновременно.
Примечание: Для использования с потоком необходимо сначала определить функцию.
Конструктор – Создает и запускает новые потоки.
Thread– Запускает новый поток, который выполняет указанную функцию параллельно с основной программой.
Конструктор#
Thread#
Thread создает и запускает поток. При создании потока вы можете присвоить ему имя, чтобы остановить его, когда он больше не понадобится.
Применение:
my_thread = Thread(my_function)
Параметры |
Описание |
|---|---|
|
Необязательно. Название для новой темы. |
|
Название ранее определенной функции. |
Примечание: Функция всегда должна быть определена до её вызова.
# 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)