Explanation: notify() wakes up a single thread which is waiting for this object.
מיין לפי
נתנאל שקד3 נקודות ·
יותר מ-6 חודשים
( תגובות)
מוניטין: 45
notify מעיר thread אחד שהיה במצב wait , תלוי במערכת הפעלה מה הוא הthread הספציפי
Yoad Ben David0 נקודות ·
יותר מ-6 חודשים
( תגובות)
מוניטין: 25
זה wait?
Nadav Cherry0 נקודות ·
יותר מ-6 חודשים
( תגובות)
מוניטין: 0
מישהו?
נעם שלו0 נקודות ·
יותר מ-6 חודשים
( תגובות)
מוניטין: 15
זה wait
Manuel Ruffieux0 נקודות ·
יותר מ-6 חודשים
( תגובות)
מוניטין: 270
true that
Gil Ari Agmon0 נקודות ·
יותר מ-6 חודשים
( תגובות)
מוניטין: 90
התשובה זה wait.
בקריאה ל-wait() על אוביקט, הטרד שמחזיק את האובייקט משחרר את הנעילה שלו עליו ועובר לסוג של Wating Queue, משמע הטרד בהכרח יפסיק את ההרצה שלו.
בקריאה ל-notify() על אוביקט (או notifyAll), מה שקורה הוא שכל הטרדים שב-WatingQueue שרוצים לגשת לאובייקט הנ"ל, יעברו ל-Ready Queue, ומכאן זה יהיה ה-Scheduler שייבחר האם לבצע Context Switch (כלומר להפסיק את ההרצה של הטרד הנוכחי) או לא, אבל notify לא בהכרח תפסיק הרצאה של טרד
Itay Razumenko-1 נקודות ·
יותר מ-6 חודשים
( תגובות)
מוניטין: 70
למה?
Gil Ari Agmon1 נקודות ·
יותר מ-6 חודשים
( תגובות)
מוניטין: 90
כשעושים wait על אובייקט, אותו טרד שרץ ישר מפסיק את הריצה שלו ועובר לסוג של WaitingQueue, שם הוא מחכה עד שיעדכנו אותו שאפשר לחזור לגשת לאובייקט. אם יש הרבה טרדים שרוצים גישה לאובייקט והם כולם עושים wait הם ייכנסו לאותו תור ויחכו.
ברגע שקוראים לפוקנציה notify אז הטרד שנכנס ראשון ל-watingQ ייכנס לReadyQ ומשם יחכה שה-Scheduler ייבחר בו. אם קוראים ל-notifyAll אז כל הטרדים שב-WatingQ שמחכים לגישה לאובייקט הזה, יעברו כולם ל-ReadyQ.
Noam Shalev-1 נקודות ·
יותר מ-6 חודשים
( תגובות)
מוניטין: 15
למדת יפה למערכות הפעלה
Lea Shmilovich1 נקודות ·
יותר מ-6 חודשים
( תגובות)
Explanation: When two or more threads need to access the same shared resource, they need some way to ensure that the resource will be used by only one thread at a time, the process by which this is achieved is called synchronization
מיין לפי
מה אומר עקרון ההחלפה של ליסקוב - Liskov substitution principle?
Explanation: Liskov substitution principle states that Objects in a program should be replaceable with instances of their sub types without altering the correctness of that program.