בעיית יצרן-צרכן

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש

במדעי המחשב, בעיית יצרן צרכןאנגלית: bounded-buffer problem) היא דוגמה קלאסית לתיאור בעיית סינכרון בין שני תהליכים או יותר הנגרמת במערכות המאפשרות ריבוי משימות.

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

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

פתרון אפשרי לבעיה מתבצע באמצעות סמפור.

ראו גם[עריכת קוד מקור | עריכה]

P Computer-science.png ערך זה הוא קצרמר בנושא מדעי המחשב. אתם מוזמנים לתרום לוויקיפדיה ולהרחיב אותו.