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