Теми#

Вступ#

Потоки дозволяють контролеру дрона VEX AIR виконувати кілька завдань одночасно в одній програмі. Вони забезпечують багатозадачність, дозволяючи дрону VEX AIR виконувати незалежні дії одночасно.

Примітка: Ви повинні спочатку визначити функцію, щоб використовувати її з потоком.

Конструктор – Створення та початок нових потоків.

  • Thread – Запускає новий потік, який виконує вказану функцію паралельно з основною програмою.

Конструктор#

Thread#

Thread створює та запускає потік. Під час створення потоку ви можете дати йому назву, щоб зупинити його, коли він більше не потрібен.

Використання:

my_thread = Thread(my_function)

Параметри

Опис

my_thread

Необов’язково. Назва для нового потоку.

callback

Ім’я раніше визначеної функції.

Примітка: Функцію завжди потрібно визначити перед її викликом.

# 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)