Konular#
giriiş#
İş parçacıkları (threads), VEX AIR Drone Kontrolcüsünün aynı program içinde birden fazla görevi eş zamanlı olarak çalıştırmasına olanak tanır. Çoklu görev yürütmeyi mümkün kılarak, VEX AIR Drone’un aynı anda bağımsız eylemler gerçekleştirmesini sağlarlar.
Not: Bunu bir iş parçacığıyla kullanmak için önce bir fonksiyon tanımlamanız gerekir.
Yapıcı fonksiyon – Yeni iş parçacıkları oluşturur ve başlatır.
Thread– Belirtilen işlevi ana programla paralel olarak çalıştıran yeni bir iş parçacığı başlatır.
Yapıcı#
Thread#
Thread bir iş parçacığı oluşturur ve başlatır. Bir iş parçacığı oluşturduğunuzda, artık ihtiyaç duyulmadığında durdurmak için ona bir isim verebilirsiniz.
Kullanım:
my_thread = Thread(my_function)
Parametreler |
Tanım |
|---|---|
|
İsteğe bağlı. Yeni iş parçacığı için bir isim. |
|
Daha önceden tanımlanmış bir fonksiyonun adı. |
Not: Bir fonksiyon, çağrılmadan her zaman önce tanımlanmalıdır.
# 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)