האתר הישראלי להנדסת תכנה

דף ראשי | מפת האתר | רשימת מושגים | מקורות נוספים | אודות
עצמים ומחלקות עצמים - המשך תהליך תכן כוון-עצמים

עצמים בו-זמניים

לפי התפיסה הכללית של פיתוח כוון-עצמים, עצם מבקש שירות מעצם אחר על ידי שליחת הודעת "בקשת שירות". אין כל דרישה לריצה סדרתית בה העצם מחכה להשלמת השירות שביקש. היות וכך, המודל הכללי של הידודיות עצמים מתיר לעצמים לרוץ בו-זמנית כתהליכים מקבילים. עצמים כאלה עשויים לרוץ על אותה מכונה או כעצמים מבוזרים על מכונות שונות.

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

ישנם למעשה שני סוגים של עצמים בו-זמניים:

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

    עצמים פעילים נמצאים בשימוש כאשר עצם נדרש לעדכן את מצבו שלו במרווחי זמן ידועים מראש. תסריט זה שכיח מאוד במערכות זמן-אמת, בהן עצמים קשורים לרוב להתקני חומרה האוספים מידע על סביבת המערכת.

    עצמים ומחלקות עצמים - המשך לתחילת הדף תהליך תכן כוון-עצמים
    ©איתן 2003. כל הזכויות שמורות למערכת המידע איתן