ผู้จัดจำหน่ายและนำเข้า อุปกรณ์ทางวิทยาศาสตร์ อุปกรณ์ห้องแลป และสื่อการเรียนการสอน

49th Anniversary

การเขียนโปรแกรมด้วย Python (Run Loop, Async, and Await)

 

การเขียนโปรแกรมด้วย Python - Run-Loop-Async-and-Await

 

หากต้องการใช้โค้ด awaitable ได้อย่างมีประสิทธิภาพพร้อมความยืดหยุ่นในการรันคำสั่งพร้อมกันหรือตามลำดับ คุณต้องรันโค้ดของคุณในฟังก์ชัน asynchronous โดยใช้รันลูป โมดูล runloop ควบคุมรันลูปบน Hub และให้คุณรันฟังก์ชัน asynchronous ด้วยฟังก์ชัน run() ฟังก์ชัน asynchronous หรือที่เรียกว่า coroutine คือ awaitable ที่ใช้คีย์เวิร์ด async ก่อนกำหนดฟังก์ชัน โดย coroutine ที่มีโปรแกรมหลักนี้มีชื่อว่า main() โค้ดด้านล่างจะแสดงให้เห็นถึงโครงสร้างทั่วไปของโปรแกรมโดยใช้รันลูป

 

การเขียนโปรแกรมด้วย Python - Run-Loop-Async-and-Await 1

 

ในชุดคำสั่งของ coroutine คุณสามารถใช้คำสั่ง await ก่อนที่จะเรียกใช้คำสั่ง awaitable ได้ คำสั่งนี้จะหยุด coroutine ไว้จนกว่าคำสั่งจะเสร็จสิ้น หากไม่มี await โปรแกรมจะทำงานโค้ดบรรทัดถัดไปใน coroutine ทันที อย่างไรก็ตาม การทำเช่นนี้จะทำให้โปรแกรมทั้งหมดหยุดชั่วคราวหรือถูกบล็อกไว้จนกว่าคำสั่งจะเสร็จสิ้น

โปรแกรมด้านล่างนี้จะกำหนด coroutine main() ซึ่งใช้คำสั่ง await ก่อนที่จะเรียกใช้ฟังก์ชัน run_for_degrees() จำนวน 2 ครั้ง โดยจะใช้ฟังก์ชัน run() จากโมดูล runloop เพื่อเรียกใช้ coroutine main() ในโค้ดบรรทัดสุดท้าย

 

การเขียนโปรแกรมด้วย Python - Run-Loop-Async-and-Await 2

 

ลองใช้โค้ดตัวอย่าง คุณจะเห็นว่ามอเตอร์ทั้งสองตัวหมุน 360 องศา (หมุนหนึ่งรอบ) ด้วยความเร็ว 720 องศาต่อวินาที ทีละตัว

 

 

 

Writer : Pacharee Wongcherngyoot
Matawee Waesalaemae