Я намагаюся зрозуміти, що таке цикл подій. Часто поясненням є те, що в циклі подій ви робите щось, поки не отримаєте сповіщення про те, що подія сталася. Потім ви впораєтеся з подією та продовжуєте робити те, що робили раніше.
Зобразити наведене визначення із прикладом. У мене є сервер, який 'слухає' в циклі подій, і коли виявлено з'єднання з сокетом, дані з нього зчитуються та відображаються, після чого сервер відновляється / починає слухати, як це робилося раніше.
Однак ця подія, яка відбувається, і ми отримуємо сповіщення "просто так" для мене дуже багато. Ви можете сказати: "Це не просто так", ви повинні зареєструвати слухача події ". Але що таке слухач подій, але функція, яка чомусь не повертається. Це у власному циклі, який чекає, коли буде повідомлено про подію? Чи повинен слухач події також зареєструвати слухача події? Де це закінчується?
Події - це приємна абстракція, з якою працювати, однак лише абстракція. Я вважаю, що врешті-решт опитування неминуче. Можливо, ми робимо це не в нашому коді, але нижчі рівні (реалізація мови програмування чи ОС) роблять це для нас.
Це в основному зводиться до наступного псевдо-коду, який працює десь досить низько, тому він не призводить до зайнятого очікування:
while(True):
do stuff
check if event has happened (poll)
do other stuff
Це моє розуміння всієї ідеї, і я хотів би почути, чи правильно це. Я відкритий у прийнятті, що вся ідея принципово неправильна, і в цьому випадку мені хотілося б правильного пояснення.
EventSource
робити, якщо не запитувати вхід на клавіатурі?