ฉันพยายามเข้าใจว่าวงเหตุการณ์คืออะไร บ่อยครั้งที่คำอธิบายคือในเหตุการณ์วนรอบคุณทำบางสิ่งบางอย่างจนกว่าคุณจะได้รับแจ้งว่ามีเหตุการณ์เกิดขึ้น จากนั้นคุณจัดการกับกิจกรรมและทำสิ่งที่คุณเคยทำมาก่อน
เพื่อแมปคำจำกัดความข้างต้นด้วยตัวอย่าง ฉันมีเซิร์ฟเวอร์ที่ 'คอยฟัง' ในเหตุการณ์ลูปและเมื่อตรวจพบการเชื่อมต่อซ็อกเก็ตข้อมูลจากมันจะถูกอ่านและแสดงหลังจากนั้นเซิร์ฟเวอร์จะกลับมาทำงาน / เริ่มฟังเหมือนเดิม
อย่างไรก็ตามเหตุการณ์นี้เกิดขึ้นและพวกเราได้รับแจ้งว่า 'แบบนั้น' นั้นเป็นเรื่องที่ฉันต้องรับมือ คุณสามารถพูดได้ว่า: "ไม่ใช่" แบบนั้น "คุณต้องลงทะเบียนผู้ฟังเหตุการณ์" แต่สิ่งที่ฟังเหตุการณ์ แต่ฟังก์ชั่นที่ด้วยเหตุผลบางอย่างจะไม่กลับมา มันอยู่ในวงของตัวเองกำลังรอการแจ้งเตือนเมื่อมีเหตุการณ์เกิดขึ้น? ผู้ฟังเหตุการณ์ควรลงทะเบียนผู้ฟังเหตุการณ์ด้วยหรือไม่ มันจะจบที่ไหน?
เหตุการณ์เป็นสิ่งที่เป็นนามธรรมที่ดีในการทำงานด้วย แต่เป็นเพียงสิ่งที่เป็นนามธรรม ฉันเชื่อว่าในท้ายที่สุดการเลือกตั้งไม่สามารถหลีกเลี่ยงได้ บางทีเราไม่ได้ทำมันในรหัสของเรา แต่ระดับที่ต่ำกว่า (การใช้ภาษาการเขียนโปรแกรมหรือระบบปฏิบัติการ) กำลังทำเพื่อเรา
โดยทั่วไปแล้วจะมากับรหัสเทียมต่อไปนี้ซึ่งทำงานอยู่ในระดับต่ำพอจึงไม่ทำให้เกิดการรอคอย:
while(True):
do stuff
check if event has happened (poll)
do other stuff
นี่คือความเข้าใจของฉันของความคิดทั้งหมดและฉันต้องการที่จะได้ยินว่ามันถูกต้อง ฉันเปิดกว้างในการยอมรับว่าความคิดทั้งหมดนั้นผิดอย่างสิ้นเชิงซึ่งในกรณีนี้ฉันต้องการคำอธิบายที่ถูกต้อง
EventSource
ทำอย่างไรหากไม่ได้ทำการสำรวจอินพุตคีย์บอร์ด?