חשמל ומחשבים עיבוד מקבלי

לחץ כאן לכל השאלות

מה שיש בתמונה

1
done
קודם כל tag בפקודות Send/Recv משמשות כדי להבדיל בין הודעות שונות שנשלחות, אם לא נגדיר tag אז recv יקבל כל send שישלח לאותו תהליך. בקוד הנ"ל, נותנים מספר רנדומלי לtag לכן ה-recv לא יקבל את מה שמעבד 0 ישלח כי יהיה לו tag שונה מאשר ה-tag שבפקודת הsend של מעבד 0 (אנחנו רוצים שיהיה אותו tag) ולכן ההודעה לא תגיע ואז מפני שrecv היא פקודה חוסמת התוכנית תתקע. דרך לתקן – לתת לשני הפקודות את אותו tag, למשל להגדיר: 3 = msgtag
by
מיין לפי
by אייל יקיר
אייל יקיר 0 נקודות · יותר מ-6 חודשים
מוניטין: 45
קודם כל tag בפקודות Send/Recv משמשות כדי להבדיל בין הודעות שונות שנשלחות, אם לא נגדיר tag אז recv יקבל כל send שישלח לאותו תהליך. בקוד הנ"ל, נותנים מספר רנדומלי לtag לכן ה-recv לא יקבל את מה שמעבד 0 ישלח כי יהיה לו tag שונה מאשר ה-tag שבפקודת הsend של מעבד 0 (אנחנו רוצים שיהיה אותו tag) ולכן ההודעה לא תגיע ואז מפני שrecv היא פקודה חוסמת התוכנית תתקע. דרך לתקן – לתת לשני הפקודות את אותו tag, למשל להגדיר: 3 = msgtag
by

* השאלה נוספה בתאריך: 15-07-2023