אלוהים1980
New member
חוטים ומנעולים.
שלום לכולם. קיבלתי תרגיל במערכות הפעלה, על חוטים ומנעולים (עברית שפה יפה, הא?) ואני מנסה להבין משהו: חוט מבקש את המנעול, לאחר שקיבל אותו הוא בודק האם התקיים איזשהו תנאי, ואם לא, אז הוא צריך להמתין עד שהתנאי יתקיים, באמצעות הפסאודו פקודה:
שלום לכולם. קיבלתי תרגיל במערכות הפעלה, על חוטים ומנעולים (עברית שפה יפה, הא?) ואני מנסה להבין משהו: חוט מבקש את המנעול, לאחר שקיבל אותו הוא בודק האם התקיים איזשהו תנאי, ואם לא, אז הוא צריך להמתין עד שהתנאי יתקיים, באמצעות הפסאודו פקודה:
cond_wait(TA_cond, lock);
מה שאני לא מבין, זה האם הפקודה הזאת משחררת את המנעול. אם לא, אז כיצד חוט אחר יוכל לשנות את משתנה התנאי, אם השינוי הזה ניתן לביצוע רק בתוך הקטע הקריטי שלו?