You can edit almost every page by Creating an account. Otherwise, see the FAQ.

Event Loop

מתוך EverybodyWiki Bios & Wiki
קפיצה אל:ניווט, חיפוש

במדעי המחשב, לולאת האירועים (Event Loop) היא מודל תכנותי ותבנית עיצוב (Design pattern) שממתינה ושולחת אירועים או הודעות בתוך תוכנית מחשב. לולאת האירועים פועלת באמצעות הגשת בקשה ל"ספק אירועים" כלשהו, פנימי או חיצוני, שבדרך כלל חוסם את הבקשה עד שהגיע האירוע, ולאחר מכן קורא למטפל באירוע (event handler) הרלוונטי ושולח את האירוע. זוהי שיטה נפוצה המשמשת ליישום שרתים כמו שרתי אינטרנט.

מימושים[עריכה]

HTML / Javascript[עריכה]

עמוד אינטרנט וקוד ה-JavaScript שלו, פועלים בדרך כלל באמצעות תהליכון אחד בלבד (single thread), כלומר שרק תהליך אחד אחראי לבצע את כל הפעולות במערכת.

תהליך הדפדפן (thread) עוסק בהודעות מתוך תור האירועים (event queue), אחת בכל פעם. לולאת האירועים פועלת כדי לנהל את תהליכי ביצוע התוכנית. ה-thread מכניס פעולות לתוך תור האירועים ומבצע אותן על פי סדר ההגעה, כל עוד אין פעולות אחרות בתור.

JavaScript משתמשת בקוד סינכרוני ואסינכרוני. קוד סינכרוני רץ בצורה לינארית, כך שכאשר משתמש באתר לוחץ על כפתור שגורם לפעולה סינכרונית, ה-thread לא עוצר את הטיפול בלחיצה הקודמת. במקום זאת, הוא יסיים את הפעולה הנוכחית ויטפל בפעולה הבאה על פי הסדר שבו מנוהלות הפעולות בתוך מחסנית קריאות (call stack). לעומת זאת, קוד אסינכרוני ימשיך לרוץ אף אם ישנן פעולות אחרות בתוך הקוד. זהו תהליך המאפשר לתוכנה להתמקד בטיפול באירועים ובפעולות באופן מסודר ויעיל.


This article "Event Loop" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Event Loop. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.



Read or create/edit this page in another language[עריכה]