ვიდეო: რა არის ThreadLocal-ის გამოყენება?
2024 ავტორი: Lynn Donovan | [email protected]. ბოლოს შეცვლილი: 2023-12-15 23:49
ჯავა ThreadLocal გამოიყენება ძაფების ლოკალური ცვლადების შესაქმნელად. ჩვენ ვიცით, რომ ობიექტის ყველა ძაფი იზიარებს მის ცვლადებს, ამიტომ ცვლადი არ არის ნაკადის უსაფრთხოდ. ჩვენ შეგვიძლია გამოვიყენოთ სინქრონიზაცია ძაფების უსაფრთხოებისთვის, მაგრამ თუ გვინდა ავიცილოთ სინქრონიზაცია, შეგვიძლია გამოვიყენოთ ThreadLocal ცვლადები.
უბრალოდ, რისთვის გამოიყენება ThreadLocal კლასი?
ჯავა ThreadLocal კლასი უზრუნველყოფს ძაფი-ადგილობრივი ცვლადები. ის საშუალებას გაძლევთ შექმნათ ცვლადები, რომელთა წაკითხვა და ჩაწერა შესაძლებელია მხოლოდ ერთი და იმავე ძაფით. თუ ორი ძაფი ახორციელებს ერთსა და იმავე კოდს და ამ კოდს აქვს მითითება a ThreadLocal ცვლადი, მაშინ ორი თემა ვერ ხედავს ერთმანეთის ლოკალურ ცვლადს.
გარდა ზემოთ, რატომ არის ThreadLocal სტატიკური და საბოლოო? როგორც ვხედავთ, სტატიკური მაგალითად ThreadLocal გამოიყენება მხოლოდ როგორც საძიებო გასაღები. მისი მნიშვნელობა არ შეიძლება შეიცვალოს, რადგან ის დეკლარირებულია საბოლოო . The ThreadLocal მაგალითი სრულიად უსაფრთხოა ნაკადისთვის, რადგან ის ნამდვილად მხოლოდ წასაკითხია, ამიტომ სინქრონიზაცია არ არის საჭირო. ის, რაც პოტენციურად არ არის უსაფრთხო, არის სამიზნე ობიექტი.
ანალოგიურად, შეგიძლიათ იკითხოთ, როგორ მუშაობს ThreadLocal Java-ში?
The Java ThreadLocal კლასი საშუალებას გაძლევთ შექმნათ ცვლადები, რომელთა წაკითხვა და დაწერა შესაძლებელია მხოლოდ ერთი და იგივე ძაფით. ამრიგად, მაშინაც კი, თუ ორი ძაფი ახორციელებს ერთსა და იმავე კოდს და კოდს აქვს იგივე მითითება ThreadLocal ცვლადი, ორი თემა ვერ ხედავს ერთმანეთს ThreadLocal ცვლადები.
რატომ არის ThreadLocal სტატიკური?
Მოკლედ, ThreadLocal ობიექტი მუშაობს გასაღების მნიშვნელობის რუქის მსგავსად. სტატიკური საბოლოო ThreadLocal ცვლადები უსაფრთხოა ძაფით. სტატიკური ხდის ThreadLocal ცვლადი ხელმისაწვდომია მრავალ კლასში მხოლოდ შესაბამისი ძაფისთვის. ეს არის შესაბამისი გლობალური ცვლადის დეკარაცია ძაფი ადგილობრივი ცვლადები მრავალ კლასში.
გირჩევთ:
რა არის FileWriter-ის გამოყენება Java-ში?
Java FileWriter კლასი გამოიყენება ფაილზე სიმბოლოზე ორიენტირებული მონაცემების ჩასაწერად. ეს არის პერსონაჟებზე ორიენტირებული კლასი, რომელიც გამოიყენება java-ში ფაილების დასამუშავებლად. FileOutputStream კლასისგან განსხვავებით, თქვენ არ გჭირდებათ სტრიქონის გადაქცევა ბაიტის მასივში, რადგან ის უზრუნველყოფს სტრიქონების პირდაპირ ჩაწერის მეთოდს
რა არის მაკრო ფუნქციის გამოყენება?
რა არის მაკრო? მაკრო არის ბრძანებების შენახული სერია, რომელიც ახორციელებს მოქმედებას ან მოქმედებების სერიას. ეს ფუნქცია შეიძლება გამოყენებულ იქნას ფუნქციების ან ავტომატური მარტივი ამოცანების დასამატებლად, როგორიცაა მოქმედების შესრულება, როდესაც მომხმარებელი დააწკაპუნებს ბრძანების ღილაკს
რა არის AVD მენეჯერის გამოყენება Android-ში?
Android ვირტუალური მოწყობილობა (AVD) არის მოწყობილობის კონფიგურაცია, რომელიც მუშაობს Android Emulator-ზე. ის უზრუნველყოფს ვირტუალური მოწყობილობის სპეციფიკურ Android გარემოს, რომელშიც ჩვენ შეგვიძლია დავაინსტალიროთ და გამოვცადოთ ჩვენი Android აპლიკაცია. AVD Manager არის SDK მენეჯერის ნაწილი შექმნილი ვირტუალური მოწყობილობების შესაქმნელად და მართვისთვის
რა არის @PersistenceContext-ის გამოყენება?
თქვენ შეგიძლიათ გამოიყენოთ @PersistenceContext ანოტაცია EntityManager-ის შესაყვანად EJB 3.0 კლიენტში (როგორიცაა სახელმწიფო ან მოქალაქეობის არმქონე სესიის ლობიო, შეტყობინებებზე ორიენტირებული bean ან servlet). თქვენ შეგიძლიათ გამოიყენოთ @PersistenceContext unitName ატრიბუტის მითითების გარეშე OC4J ნაგულისხმევი მდგრადობის ერთეულის გამოსაყენებლად, როგორც მაგალითი 29-12 გვიჩვენებს
როგორ გამოვიყენოთ განსხვავებული განცხადება, რა არის მისი გამოყენება?
SELECT DISTINCT განცხადება გამოიყენება მხოლოდ განსხვავებული (განსხვავებული) მნიშვნელობების დასაბრუნებლად. ცხრილის შიგნით, სვეტი ხშირად შეიცავს ბევრ დუბლიკატულ მნიშვნელობას; და ზოგჯერ თქვენ მხოლოდ გსურთ ჩამოთვალოთ სხვადასხვა (განსხვავებული) მნიშვნელობები