הפילוסופים הסועדים, THREADS בJAVA
כחלק מהקורס "מע' הפעלה" אנחנו מסמלצים פתרונות של הDINING PHILOSOPHER. כחלק מהפתרון נתקלתי בבעיה. רציתי, כדי למנוע BUSY-WAITING, שהTHREAD של כל פילוסוף יעשה WAIT אם הוא לא מוצא מזלג, ושכל פילוסוף שמסיים יעשה NOTIFYALL כדי שהאחרים יבדקו אם המזלג שהם צריכים חזר. משום מה, הקוד מוציא לי איזה EXCEPTION שקשור בTHREADS בזמן ריצה (NOT OWNER או משהו כזה). יש למישהו רעיון?
כחלק מהקורס "מע' הפעלה" אנחנו מסמלצים פתרונות של הDINING PHILOSOPHER. כחלק מהפתרון נתקלתי בבעיה. רציתי, כדי למנוע BUSY-WAITING, שהTHREAD של כל פילוסוף יעשה WAIT אם הוא לא מוצא מזלג, ושכל פילוסוף שמסיים יעשה NOTIFYALL כדי שהאחרים יבדקו אם המזלג שהם צריכים חזר. משום מה, הקוד מוציא לי איזה EXCEPTION שקשור בTHREADS בזמן ריצה (NOT OWNER או משהו כזה). יש למישהו רעיון?
while (firstFork.taken() && !holdingFirst) { try { wait(); } catch (InterruptedException e) { } holdingFirst=firstFork.lift(); }