פעולה חוסמת – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
Matanyabot (שיחה | תרומות)
מ בוט החלפות: לעיתים
 
שורה 6:
 
== הימנעות מחסימה ==
לעתיםלעיתים קרובות, נרצה לבצע פעולה חוסמת אך לאפשר לתהליך להמשיך לרוץ ולא להיעצר עד שהתוצאה תחזור ממערכת ההפעלה. במקרה כזה ניתן לפצל מה[[תהליך (מדעי המחשב)|תהליך]] הראשי [[תהליכון]] שיפעיל את הפעולה החוסמת. במצב זה התהליכון נחסם אך התהליך הראשי לא נחסם וממשיך לרוץ.
דוגמה למצב כזה נוכל לראות במימוש תוכנת [[צ'אט]] בסיסית שמאפשרת כתיבה וקריאה. כדי לקרוא מידע נכנס נבצע האזנה ל[[שקע (מדעי המחשב)|שקע]] (Socket). האזנה לשקע היא פעולה חוסמת שלא חוזרת עד שמתקבל בשקע מידע. כלומר אם נבחר להמתין להודעה נכנסת, לא נוכל לשלוח הודעה משלנו עד שתתקבל אצלנו הודעה. כדי לאפשר צ'אט אינטראקטיבי יותר, שמאפשר שליחת טקסט וקבלת טקסט כל הזמן ולא רק בתורות, נפצל את התהליך לתהליכון קורא ותהליכון כותב.