ด้าย#

การแนะนำ#

เธรดช่วยให้ตัวควบคุมโดรน 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)