שאלה באלגוריתם, c# - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

שאלה באלגוריתם, c#


mwalker03

Recommended Posts

נתונה פונקצייה foo שמקבלת long x ונקראת ע"י ת'רדים מרובים.

צריך להמנע מביצוע בו זמנית של אותו ערך.

לדוגמא: אם 2 קריאות עם הערך x=10 מגיעות, אחת צריכה להתבצע ואחת צריכה להמתין.

אבל אם מגיעים ערכים שונים, כגון x= 10 ו x = 11 שנייהם צריכות להתבצע במקביל.

צריך לא לשמור בזיכרון את כל הערכים את כל הערכים שנקראו בעבר לפונקצייה, אלא, לשחרר אותם ברגע שת'רדים יוצאים(או מסיימים) או לחכות ל GC.

בנוסף, צריך למנוע מצב שערכים שונים יתחרו על אותו Static sherd lock, לדוגמא:

הערכים 10 ו - 11 יתבצעו במקביל וכשיגיע שוב 10 הוא ימתין ובפעם הבאה - הוא יהיה ראשון, כאשר במקביל יכולים להכנס עוד ועוד ערכים.

שברתי את הראש כבר, מקווה שמישהו פה יוכל לתת לי כיוון

תודה.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...