מה השימוש ב-ThreadLocal?
מה השימוש ב-ThreadLocal?

וִידֵאוֹ: מה השימוש ב-ThreadLocal?

וִידֵאוֹ: מה השימוש ב-ThreadLocal?
וִידֵאוֹ: דברים שלא ידעתם מה השימוש האמיתי שלהם 2024, דֵצֶמבֶּר
Anonim

Java ThreadLocal משמש ליצירת משתנים מקומיים של שרשור. אנו יודעים שכל השרשורים של אובייקט חולקים את המשתנים שלו, כך שהמשתנה אינו בטוח. אנחנו יכולים להשתמש בסנכרון לבטיחות שרשור אבל אם אנחנו רוצים להימנע מסנכרון, אנחנו יכולים להשתמש במשתני ThreadLocal.

רק אז, למה משמש מחלקה ThreadLocal?

Java מחלקה ThreadLocal מספק חוט-מקומי משתנים. זה מאפשר לך ליצור משתנים שניתן לקרוא ולכתוב רק על ידי אותו שרשור. אם שני שרשורים מבצעים את אותו קוד ולקוד הזה יש הפניה ל-a ThreadLocal משתנה אז שני השרשורים לא יכולים לראות את המשתנה המקומי זה של זה.

מלבד למעלה, מדוע ThreadLocal הוא סטטי וסופי? כפי שאנו יכולים לראות, ה סטָטִי מופע של ThreadLocal משמש רק כמפתח חיפוש. לא ניתן לשנות את ערכו כי הוא מוצהר סופי . ה ThreadLocal המופע בטוח לחלוטין לשרשור מכיוון שהוא באמת לקריאה בלבד ולכן לא נדרש סנכרון. מה שפוטנציאלי אינו בטוח בשרשור הוא אובייקט היעד.

באופן דומה, אתה עשוי לשאול, איך ThreadLocal עובד ב-Java?

ה Java ThreadLocal class מאפשרת לך ליצור משתנים שניתן לקרוא ולכתוב רק על ידי אותו שרשור. לפיכך, גם אם שני שרשורים מבצעים את אותו קוד, ולקוד יש התייחסות לאותו קוד ThreadLocal משתנה, שני החוטים לא יכולים לראות זה את זה ThreadLocal משתנים.

מדוע ThreadLocal סטטי?

בקצרה, ThreadLocal אובייקט עובד כמו מפת מפתח-ערך. סטָטִי סופי ThreadLocal משתנים בטוחים בחוט. סטָטִי עושה את ThreadLocal משתנה זמין במספר מחלקות עבור השרשור המתאים בלבד. זה סוג של חלוקה גלובלית משתנה של ההתאמה חוט מקומי משתנים על פני מחלקות מרובות.

מוּמלָץ: