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