Benang#

Perkenalan#

Thread memungkinkan Pengontrol Drone VEX AIR untuk menjalankan beberapa tugas secara bersamaan dalam program yang sama. Fitur ini memungkinkan multitasking, sehingga Drone VEX AIR dapat melakukan tindakan independen pada waktu yang bersamaan.

Catatan: Anda harus mendefinisikan fungsi terlebih dahulu untuk menggunakannya dengan thread.

Konstruktor – Membuat dan memulai thread baru.

  • Thread – Memulai thread baru yang menjalankan fungsi yang ditentukan secara paralel dengan program utama.

Konstruktor#

Thread#

Thread membuat dan memulai sebuah thread. Saat Anda membuat sebuah thread, Anda dapat memberinya nama untuk menghentikannya ketika tidak lagi dibutuhkan.

Penggunaan:

my_thread = Thread(my_function)

Parameter

Keterangan

my_thread

Opsional. Nama untuk thread baru.

callback

Nama fungsi yang telah didefinisikan sebelumnya.

Catatan: Suatu fungsi harus *selalu didefinisikan sebelum dipanggil.

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