ABA


"איך המשתמש יכול לעזור ל-Garbage Collector?"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #15103 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 15103
Shahar_A 
חבר מתאריך 14.6.04
4487 הודעות
   18:31   14.12.08   
אל הפורום  
  איך המשתמש יכול לעזור ל-Garbage Collector?  
 
אני מכין סמינריון על הנושא,
איך המשתמש יכול להקל,לייעל את ה-Garbage Collector?
ממה המשתמש צריך להיזהר?


מה שכתבתי בינתיים:
להקל על ה-GC:
- כשהמתכנת מפעיל את פונקציית ה-Dispose הוא מקל על ה-GC, מכיון שהוא לא עובר עליו ונחסך כאן זמן.

להיזהר:
- יש להיזהר מהצבעה מעגלית:
כלומר, A->B וגם B->A.
יהיו מקרים בהם ה-GC לא יידע לטפל במקרה כזה.
- אם נקצה אובייקט מסוים, אך במקום להגדיר מצביע אליו פשוט נשמור את הכתובת שלו בזיכרון, ה-GC לא יידע להתייחס לכך וימחוק את האובייקט. לכן יש להגדיר לכל אובייקט מצביע.


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  דבר ראשון אין בעיה של circular reference Sn00py  14.12.08 19:22 1
     אחרי* Sn00py  14.12.08 20:56 2

       
Sn00py 
חבר מתאריך 1.8.02
2954 הודעות
   19:22   14.12.08   
אל הפורום  
  1. דבר ראשון אין בעיה של circular reference  
בתגובה להודעה מספר 0
 
   כלומר ה-GC יודע לטפל בהצבעה מעגלית.

באופן עקרוני, להמעיט במשתנים סטטים, לדאוג לרוקן מחסניות של ת'ראדים ולא להשאיר אותם פועלים מעבר למה שצריך(שהרי המחסניות של הthread נחשבות כ root reference), וכן לדאוג שלכל אובייקט UNSAFE שאנחנו עובדים איתו, לעשות דיסטרקטור(או יותר נכון פיינלזר) וכך להכניס אותו ל F-reachble queue - אחרת הוא לא ישתחרר.

וכמובן לתת ל GC לעשות את שלו. לא להתחיל לשחק עם Collect וכאלה כל שניה. אה וכמובן להפעיל פונקצית WaitForPendingFinalizers לפני GC.Collect אם כבר משתמשים...

זה מה שעולה לי לראש...

\x6C\x65\x65\x74\x68\x61\x78\x30
\x72\x3A\x2D\x29
tresp4sser


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Sn00py 
חבר מתאריך 1.8.02
2954 הודעות
   20:56   14.12.08   
אל הפורום  
  2. אחרי*  
בתגובה להודעה מספר 1
 
  

\x6C\x65\x65\x74\x68\x61\x78\x30
\x72\x3A\x2D\x29
tresp4sser


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net