white shadow 3
New member
שאלה על המונח "חבק"
הי..
שאלה שנתקלנו בה מספר חברים ויש קצת ויכוח בנושא
נניח ויש לי פונקציה f() כלשהיא שבתוכה יש בדיקת
ונניח כי יש 2 תתי-תהליך כך שתת תהליך ראשון מתחיל לבצע את הפונקציה, ותת תהליך שני יכול להתחיל את f() רק לאחר שתת תהליך ראשון סיים..
כעת נניח שתת תהליך ראשון התחיל, הגיע ל-while וקיבל תוצאת TRUE לכן נתקע שם.
ידוע כי *אם* תת תהליך 2 היה במצב הנוכחי יכול להתחיל את f() אז הוא היה משחרר את תת-תהליך 1 מלולאת ה-while הזאת ותת תהליך 1 היה יכול להמשיך להתקדם..
האם המצב הנוכחי, בו תת תהליך 1 תקוע ב-while ותת תהליך שני לא יכול להתחיל את ביצוע f() כיוון שצריך לחכות לסיום מלא של תת תהליך 1, נחשב כ"חבק"?
(כביכול בחבק כל תת תהליך מחכה לסיום של תת התהליך האחר, וכאן ברור שתת תהליך 2 מחכה לתת תהליך 1, אך האם זה נחשב שתת תהליך 1 "מחכה" לתת תהליך 2?
תודה!
הי..
שאלה שנתקלנו בה מספר חברים ויש קצת ויכוח בנושא
נניח ויש לי פונקציה f() כלשהיא שבתוכה יש בדיקת
קוד:
f() {
...
...
...
while (...);
}
כעת נניח שתת תהליך ראשון התחיל, הגיע ל-while וקיבל תוצאת TRUE לכן נתקע שם.
ידוע כי *אם* תת תהליך 2 היה במצב הנוכחי יכול להתחיל את f() אז הוא היה משחרר את תת-תהליך 1 מלולאת ה-while הזאת ותת תהליך 1 היה יכול להמשיך להתקדם..
האם המצב הנוכחי, בו תת תהליך 1 תקוע ב-while ותת תהליך שני לא יכול להתחיל את ביצוע f() כיוון שצריך לחכות לסיום מלא של תת תהליך 1, נחשב כ"חבק"?
(כביכול בחבק כל תת תהליך מחכה לסיום של תת התהליך האחר, וכאן ברור שתת תהליך 2 מחכה לתת תהליך 1, אך האם זה נחשב שתת תהליך 1 "מחכה" לתת תהליך 2?
תודה!