რა არის ThreadLocal-ის გამოყენება?
რა არის ThreadLocal-ის გამოყენება?

ვიდეო: რა არის ThreadLocal-ის გამოყენება?

ვიდეო: რა არის ThreadLocal-ის გამოყენება?
ვიდეო: What is the purpose of the class java lang ThreadLocal explain using demo project ? 2024, მაისი
Anonim

ჯავა ThreadLocal გამოიყენება ძაფების ლოკალური ცვლადების შესაქმნელად. ჩვენ ვიცით, რომ ობიექტის ყველა ძაფი იზიარებს მის ცვლადებს, ამიტომ ცვლადი არ არის ნაკადის უსაფრთხოდ. ჩვენ შეგვიძლია გამოვიყენოთ სინქრონიზაცია ძაფების უსაფრთხოებისთვის, მაგრამ თუ გვინდა ავიცილოთ სინქრონიზაცია, შეგვიძლია გამოვიყენოთ ThreadLocal ცვლადები.

უბრალოდ, რისთვის გამოიყენება ThreadLocal კლასი?

ჯავა ThreadLocal კლასი უზრუნველყოფს ძაფი-ადგილობრივი ცვლადები. ის საშუალებას გაძლევთ შექმნათ ცვლადები, რომელთა წაკითხვა და ჩაწერა შესაძლებელია მხოლოდ ერთი და იმავე ძაფით. თუ ორი ძაფი ახორციელებს ერთსა და იმავე კოდს და ამ კოდს აქვს მითითება a ThreadLocal ცვლადი, მაშინ ორი თემა ვერ ხედავს ერთმანეთის ლოკალურ ცვლადს.

გარდა ზემოთ, რატომ არის ThreadLocal სტატიკური და საბოლოო? როგორც ვხედავთ, სტატიკური მაგალითად ThreadLocal გამოიყენება მხოლოდ როგორც საძიებო გასაღები. მისი მნიშვნელობა არ შეიძლება შეიცვალოს, რადგან ის დეკლარირებულია საბოლოო . The ThreadLocal მაგალითი სრულიად უსაფრთხოა ნაკადისთვის, რადგან ის ნამდვილად მხოლოდ წასაკითხია, ამიტომ სინქრონიზაცია არ არის საჭირო. ის, რაც პოტენციურად არ არის უსაფრთხო, არის სამიზნე ობიექტი.

ანალოგიურად, შეგიძლიათ იკითხოთ, როგორ მუშაობს ThreadLocal Java-ში?

The Java ThreadLocal კლასი საშუალებას გაძლევთ შექმნათ ცვლადები, რომელთა წაკითხვა და დაწერა შესაძლებელია მხოლოდ ერთი და იგივე ძაფით. ამრიგად, მაშინაც კი, თუ ორი ძაფი ახორციელებს ერთსა და იმავე კოდს და კოდს აქვს იგივე მითითება ThreadLocal ცვლადი, ორი თემა ვერ ხედავს ერთმანეთს ThreadLocal ცვლადები.

რატომ არის ThreadLocal სტატიკური?

Მოკლედ, ThreadLocal ობიექტი მუშაობს გასაღების მნიშვნელობის რუქის მსგავსად. სტატიკური საბოლოო ThreadLocal ცვლადები უსაფრთხოა ძაფით. სტატიკური ხდის ThreadLocal ცვლადი ხელმისაწვდომია მრავალ კლასში მხოლოდ შესაბამისი ძაფისთვის. ეს არის შესაბამისი გლობალური ცვლადის დეკარაცია ძაფი ადგილობრივი ცვლადები მრავალ კლასში.

გირჩევთ: