תבנית סינגלטון רק מקרה אחד הוא נערך Multi Threading

תוך שימוש דפוס סינגלטון, רק מופע אחד נוצר רב השחלה?

שימוש בכיתה threadsafe סינגלטון תבטיח כי רק מקרה אחד נוצר.

הציבור אטום בכיתה סינגלטון
{
פרטי סטטי סינגלטון סינגלטון = null;
פרטי סטטי לקריאה בלבד אובייקט אובייקט חדש = singletonLock();

פרטי סינגלטון() {}
הציבור סטטי סינגלטון getInstance()
{
לנעול (singletonLock)
{
אם (סינגלטון == null)
{
סינגלטון = חדש סינגלטון();
}
לחזור סינגלטון ;
}
}
}

גיליון יעלה רק כאשר היצירה של הערכאה הראשונה.

באמצעות מנעול() תספק לנו את החוט בטוח כדי למנוע הוצאתם להורג של שני חוטים בכל פעם אותו כדי ליצור מופע.

שוב אנו אימות (singletonobject == null) כך תבטיח כי רק פעם אחת למשל תיווצר.

אפשרות לבדוק כפול תהיה הוכחה מלאה על הכיתה שלנו.

השאירו תגובה

אתה יכול להשתמש אלה תגי HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>