Теми#
Вступ#
Потоки дозволяють контролеру дрона 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)